Learning Node (2e)

Author: Shelley Powers
Publisher: O'Reilly
Pages: 288
ISBN: 978-1491943120
Print: 1491943122
Audience: Experienced clientside JavaScript devs
Rating: 5
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.

Node is serverside JavaScript and the big problem is that after you have said that much of what follows tends to be very specific to what you are trying to do. A good book on Node should give you the basics as quickly as possible and then get on to some more advanced topics and this is mostly what this book does. 

The first thing to say is that this is not for the JavaScript beginner. It assumes that you not only know JavaScript but know how to make use of it on the clientside. It is also not for the reader needing a lot of hand holding - the overall level of the book has taken a step up since the first edition.




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.   

Overall this is a good introduction to Node, but it isn't for the beginner. You do have to be able to program in JavaScript and you need to be fairly sophisticated in your approach to coding and the programming world in general. The second edition is a big improvement on the first edition. Now it reads more like an expert's introduction and it is all the better for it. The change in the book also reflects how much Node itself has changed over the time - it's almost all grown up. 

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.

Related Reviews

Learning Node first edition



Principled Programming

Author: Tim Teitelbaum
Publisher: DateTree Press
Date: March 2023
Pages: 429
ISBN: 978-8987744109
Print: B0BZF8R467
Audience: General
Rating: 5
Reviewer: Mike James
Principled Programming - what else would you want to do?

Software Development Pearls

Author: Karl Wiegers
Publisher: Addison-Wesley Professional
Pages: 336
ISBN: 978-0137487776
Print: 0137487770
Kindle: B09BF6CS9T
Audience: General developers
Rating: 2
Reviewer: Ian Elliot
Who can resist a good pearl or two?

More Reviews


Last Updated ( Tuesday, 09 August 2016 )