Author: George Ornbo
Reviewer: Ian Elliot
Node.js is still the subject of a lot of hype and you need to know something about it. Is 24 hours enough Node.js?
The first chapter of this book explains what Node.js is all about and getting it installed. Next we look at the node package manager and finding packages - included is the warning that the quality of packages isn't guaranteed.
This brings us to the end of Part I of the book. Yes the basic idea of Node.js were allocated only 50 pages. Part II takes us into building websites with Node.js. Chapter 5 explains what HTTP is and how to implement servers and client in Node.js. Just as we are getting into the details that are really core to Node.js the next chapter introduces the Express framework. After this most of the rest of the book is about one framework or another rather than core Node.js. This isn't too unreasonable in that this is the best way to build things with Node.js. Chapter 7 goes into more Express in more depth - mainly routing. Chapter 8 returns to core Node.js with a look at the file handling objects, reading environment variables and using MongoDB.
Part III is about debugging, testing and deploying. The chapter on debugging introduces the stdio module so that you can do "print" debugging and the Node.js debugger. The testing chapter is mostly about third party test frameworks. The deployment chapter outlines the use of Amazon S3, Heroku, Cloud Foundry, Nodester and so on .
Part IV is about building more complicated sites. Chapter 12 explains what a socket is and how to use the socket.IO module. This is one of the facilities that Node.js provides that can be used to create applications that do more than a simple web page can do. It is the sort of area where it really could lead to innovations and this chapter does it reasonable justice in explaining the different ways it can be used to provide broadcast and bidirectional communications. Chapter 13 provides an example of a Socket based chat server, chapter 14 shows how to build a Twitter client that retransmits he data to other clients. These examples do give you a good idea of what you can achieve. Chapter 15 explains the Json APIs to exchange data.
Part V of the book is the most in depth and technical - Exploring the Node.js API. It covers the process module, the child process module, events module, buffer module and stream module. The first two chapters on the creation and managing of processes is reasonably well explained but not really motivated. You are left with little idea of why you might want to get involved with any of this. The bare mechanics are explained but not how this takes Node.js from a single threaded system to a multi-threaded, scalable, system. The chapter on the event module is similarly limited to brief look at the basics. Similarly for the streams and buffers chapters - nothing more than basic introductions. If you were hoping for some slightly advanced material on Node.js this is where the book gets closest to that target but it still doesn't really do enough.
The final part of the book is about CoffeeScript, crating Node.js modules and using Connect and Backbone.js. All useful stuff but more on core Node.js would have been useful.