Author: Shelley Powers
Reviewer: Ian Elliot
Node.js has become very popular. Does this book tell you what you need to know?
This is a second edition and it has acquired the subtitle Moving to the Server-side and a fairly heavy rewrite - so don't assume that this is just the first edition with a few corrections. At the end of my review of that book, I concluded that it deserved a second edition and this one really does take account of my previous criticisms which is why it now gets a full 5-star rating.
Chapter 1 dives into Node, that's the only way to express it. It explains how to get started on a range of systems and leads you to a hello world in no time at all. You do get a history of Node but this is a very rapid introduction to a self hosting server view of Node with a look at how to host it and and C/C++ add-ons. It certainly doesn't try to sell the advantages of Node to you - it assumes you know why you are interested.
Chapter 2 is where you learn most about Node. It covers event handling, buffers, timers callbacks and most of what you need to know to get started programming. This is another intense chapter taking you into Node as quickly as possible.
From here we start to look at increasingly specific topics. Chapter 3 focuses on the module system and then Chapter 4 moves on to consider using the REPL Read-Eval-Print-Loop to work interactively with Node. I found this chapter interesting, but not particularly useful because I hate working with a REPL - but you may not agree.
Chapter 5 is about web development which is, of course, the reason most people get involved in Node. The chapter develops a static web server and shows how it can run along side Apache.
Chapters 6 and 7 deal with working with the environment - the OS and the network. Chapter 8 pushes this further and looks at child processes as ways of getting tasks done by the host system.
Chapter 9 tuns to look at the language in use i.e. how much of ES6 is supported and how to extend this using the Bluebird module. The emphasis is on what you can achieve natively with the current version.
The previous edition had lots of coverage of other frameworks - MongoDB and so on. In this edition this coverage is push into a single chapter and to be honest this is a better way of doing things. It covers Express, MongoDB and Redis with a look at Angular and BackBone.
The book closes with a look at some of the stranger places that Node is turning up - mainly in the Internet of Things. It looks at Node on the Raspberry Pi and Arduino plus Node using the Chakra engine. This is very short and no more than a taster to alert you to what is available.
There is still room for a lower level book pointing out when and where Node would be useful and when you should use it, but if you already know you want to use Node then a copy of this book will be a great help. Highly recommended.
Learning Node first edition