Node Web Development

Quit scratching your head already. Of course you’re doing it, scratching your head and mumbling to yourself, “What’s a browser language doing on the server?” In truth, JavaScript has a long and largely unknown history outside the browser. JavaScript is a programming language, just like any other language, and the better question to ask is “Why should JavaScript remain trapped inside browsers?”

Cover of Node Web Development

With these words, begins your jorney though web development using server-side JavaScript with Node.js. Right from the start, David Herron’s Node Web Development (2011, Packt) gives hints as to who this book would be most useful to: experienced software engineers, getting ready to explore the Node.js platform for the very first time. Frontend engineers that are looking to get into backend development, would probably find this book very useful.

If you are the tartget audience, though, you will find this book to be one of the best resources on Node.js available.

Before I begin my review, I would like to note that the review was requested by Packt. Although it has been requested, you can consider this to be my completely open and honest review of the book. In other words, it really is a good book.

Node.js isn’t just any new thing that comes to Web. You could say that Node.js is as important to server-side as something like client-side Python (substitute ‘Python’ with your favorite language) would be to browsers. It also proves (hopefully once and for all) that JavaScript is a powerful language and does away with the myth that it’s only good for light scripting in browsers. Finally, it creates an opportunity for talented front-end engineers to also try their JavaScript skills on the server-side.

Node Web Development is therefore a book that reveals the true face of JavaScript, in addition to being a good introduction to Node.js platform, and thus makes an important contribution to modern web development as a whole.

With Node Web Development, it’s like walking into a restaurant for a burger, and getting salad, drinks, and free WiFi with it, for free. The order of topics in the book is a bit non-standard, but very much in line with how work is done in reality. That’s probably one of the things experienced users will find very useful. If you’re already a web developer, you will appreciate having things that interest you the most covered early on. As for newbies, it will lay down a good foundation, which is also a good thing. All in all, you will learn, I believe, a proper way to do things, from someone that’s been doing it for a very long time. ;)

If you are an experienced JavaScript developer, you will appreciate the fact that an exotic thing like JavaScript modules is covered first thing. Modules are probably one of the most important things frontend developers should learn coming to Node.

NPM, Node Package Manager, is covered in great detail early on. That is excellent, considering it has become a de facto standard in the Node developer toolbox.

The book also covers some of the libraries that are typically used for web development on Node. These include Connect, Express, and Mongoose (MongoDB ORM).

All in all, you will learn 80% of Node-related ‘stuff’ that needs knowing if you want to do web development on Node.

One thing I found missing was unit testing. Node.js has a few very good unit testing libraries that are definitely worth covering. I guess covering the full choice would be outside the scope of most books (except maybe a book dedicated to unit testing in Node), but I think at least expresso should have been mentioned.

As someone who has been using Node for almost two months now, I definitely found the book useful. If you are just starting, I think this book is a must.