There is a note at the beginning that this book assumes that you know something about JavaScript, HTTP, and using the console in Windows or command line in Linux. I will admit that I am lacking in JavaScript knowledge, but even still I was able to bring up a working Node server on Windows and Ubuntu and secure it following through the chapters. I did the majority of my testing in Windows as that is what I am most familiar with. The longest part actually was getting the Windows IIS server set up and WebMatrix downloaded and installed, so that I could use Node with it. If you’ve already got IIS installed, you might have to download a few extensions to prepare, but otherwise it won’t take you long to get Node configured. One thing to note on the install: there is a link to download the Node templates for WebMatrix, but it doesn’t work as written. Change …/Node-Site-… to …/Node.js-Site-… and you will get to the right page. On Windows, you will need to either use Node on Windows Azure cloud computing or WebMatrix on Win 7. This book only covers configuring it with WebMatrix as Microsoft has instructions for Azure.
Originally, Java was developed to avoid doing things server-side. With Java, the browser takes care of processing so that the code is only complied once so it can be platform-independent. Node doesn’t seek to change that, but is instead useful when you have an application that is I/O heavy, but easy to compute. Node runs on a single thread so that it isn’t going to consume a lot of your local computer’s resources. This will make it ideal for a lot of different applications. The first chapter of Learning Node is dedicated to the installation solely. After that, the next 3 chapters go over basic concepts of how to use REPL, TCP, HTTP, Modules, and many other useful concepts to start you going with Node. If you already know this beginner’s stuff, you can skip or skim these chapters and move on to the more advanced topics.
After Chapter 4, I found myself skipping around looking for more specific concepts rather than going in order. Being more interested in the administration of the system, I moved to Chapter 15 to work on security. There is an amazing amount of customization you can do to control who is accessing specific pieces or all of the scripts you have running. I really liked playing with the difference security concepts available in Node. Other than security, Node has pretty much everything you need for a fully usable server. Learning Node has chapters on routing, using templates, graphics, sockets, and most importantly, debugging for when you mess up somewhere along the line.
Since I had never even heard of Node before getting Learning Node, I can safely say that this book will take you from zero knowledge of the software to rolling out a functional server. The software is all free to download and use, so you can just get it and play around as much as you want. If you’re thinking of using Node for your JavaScript web apps, then I would highly recommend picking up Learning Node as a reference manual. With it, you can install the software and find out how to do anything else you want to from there. Learning Node is a resource you are definitely going to want to have by your side.