Node For Front-End Developers By Garann Means

Posted March 2, 2012 at 10:41 AM by Ben Nadel

Tags: Books

Over the weekend, I read Node For Front-End Developers - Writing Server-Side JavaScript Applications - by Garann Means. At 85 pages, the book is a fairly quick read and offers a really nice introduction to building Node.js applications. Since the Node.js technology is much closer to the "metal", it mandates much less structure than your typical application server. This offers you a great amount of control over how your server-side application operates; but, at the same time, it can leave you frustrated, never sure of how to best get things done. Node For Front-End Developers fills in some of those high-level information gaps, painting the ins-and-outs of Node.js application development with broad strokes.


 
 
 

 
Node.js For Front-End Developers by Garann Means, book review by Ben Nadel.  
 
 
 

I really enjoyed the iterative workflow of this book; it starts out simple and slowly builds each demonstration on the shoulders of the demonstration before it. The book opens with instructions for installing Node.js and NPM (Node Package Manager) as well as using the command-line REPL (Read-Eval-Print-Loop); but, it quickly moves into writing code for your first Node.js application.

Garann Means starts the exploration with a discussion of how to organize your directories. Since Node.js handles every incoming request explicitly, there's no automatic file-serving like you'd have in an Apache or an IIS based application. Again, this gives you complete control, but can leave you wondering if you're doing things in the correct way. Means explains what role directories such as node_modules, lib, and public play in a "best practices" Node.js application. She also talks about the application manifest - package.json - and how to create one.

Then, Means goes on to iteratively explain the request-response lifecycle; how to create dynamic responses; how to server static files; and, how to parse incoming URL and FORM data. Some of these task are then iteratively abstracted away with the introduction of middleware layers like Connect and Express.

Means then goes on to talk about advanced concepts including WebSockets, JSONP (JSON with Padding), server-side templating, connecting to a Redis NoSQL database, the awesomeness of Event Emitters, and Model-View-Controller architectures.

Since the book is only 85 pages long, none of these concepts are explored in overwhelming depth; but the book provides a wonderfully broad look at server-side JavaScript application development with Node.js. At the end, I definitely felt like I had a better understanding of what Node.js applications are, how they are put together, how the core features are executed, and where I could go from here (as far as independent learning is concerned). If you're new to Node.js, this is definitely a recommended read.



Reader Comments

Mar 2, 2012 at 1:34 PM // reply »
4 Comments

Hi Ben,

After seeing your post I was excited about the book but when I went to Amazon it had some bad reviews. One review said it was more like a cookbook - is that right?

Thanks
Dan


Mar 2, 2012 at 1:43 PM // reply »
4 Comments

Oh bollocks I might as well just buy it.


Mar 2, 2012 at 1:49 PM // reply »
11,238 Comments

@Danyal,

I didn't feel it was a Cookbook-style approach. I thought it just covered the foundations of Node.js app development. Frankly, I don't think it's long enough to be Cookbook :)

If you create an account on the O'Reilly media website, I think you can probably get this book for like $4 :)


Mar 4, 2012 at 10:48 PM // reply »
4 Comments

@Ben,

It's ok, got it from Amazon :) Thanks


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 17, 2013 at 7:42 PM
HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data
Ben - thanks so much for posting these Angular articles and findings, they've been a huge help towards learning one of the more 'complex' JavaScript frameworks out there (IMO). I have been using Angu ... read »
May 16, 2013 at 5:01 PM
UPDATE: Parsing CSV Data Files In ColdFusion With csvToArray()
Your code was the closest thing I've found to obtaining some direction for converting ISO fields to values that CF can translate properly. Thank you for posting! ... read »
May 15, 2013 at 10:37 PM
Very Simple Pusher And ColdFusion Powered Chat
hi id making plz easy ... read »
May 15, 2013 at 6:07 PM
Making SOAP Web Service Requests With ColdFusion And CFHTTP
Ben, you once again saved my bacon at work. Thank you, thank you, thank you! ... read »
May 15, 2013 at 4:15 PM
What If All User Interface (UI) Data Came In Reports?
@Josh, Thanks! @Ben, I definitely recommend the David West book "Object Thinking" I've been quoting from. It goes deeply into the philosophy and history of OO programming. His breadth ... read »
May 15, 2013 at 11:36 AM
Ask Ben: Print Part Of A Web Page With jQuery
I found this helpfull when you need to keep (refresh) the original parent page after closing the iframe child print dialog (Hoping you're not using a form at this time so it won't submit again): On ... read »
May 14, 2013 at 7:13 PM
What If All User Interface (UI) Data Came In Reports?
@Jonah, If there's any books you'd recommend on the subject of domain modelling, I'd love to hear it. I just downloaded the free PDF of "Domain Driven Design Quickly". Figured I'd give it ... read »
May 14, 2013 at 6:57 PM
The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity
@Phillip, I'm not sure I follow what you mean? Are you saying that you looked at the list of widgets provided by the jQuery UI and let that be your style guide? ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools