2 of 3 people found the following review helpful
Excellent Introduction to Node.js,
This review is from: Node.js in Action (Paperback)
If you're looking for the Node.js book to cut your teeth on then look no further; Node.js in Action is a comprehensive introduction to getting up and running with Node.js, using real-world examples and written by recognised experts within the Node.js community. For anyone interested in getting to grips with Node.js or even getting started with web development in general, this would be the book I would recommend.
The second part of the book is focused on building web applications with Node.js. The authors have done a fantastic job in covering the fundamentals that one needs to know when building a web application such as authentication, URI routing, session management, cookie management, cross-cutting concerns such as error handling and logging, interacting with data sent by the client in the query string and request body, how to render HTML to serve back to the web client using templates, how to build an API following REST principles and how to persist data to a relational database such as MySQL or to a "NoSQL" database such as MongoDB or Redis. Rather than being thrown all of this information at once and watching us flail all over the place to try and make sense of it however, the authors introduce the topics one at a time in a way that is both compelling and interesting to read, starting with simple examples and then introducing the concept of middleware components like Connect and Express. As someone with many years of experience building web applications using a number of different web technologies, I often found myself asking "how do you do X in Node.js?", only for it to be answered in the proceeding pages. Well thought out and well written.
No comprehensive technical book would be complete without touching on how to test those lovingly written applications. Node.js in Action goes into some detail on how to unit test and acceptance test applications. At twenty pages, this chapter provides sufficient explanation of the common test patterns to get verifying that an application correctly fulfills the function that it is intended to.
The last part of the book focuses on using Node.js for non-web applications such as command-line utilities and TCP clients and servers as well as hosting and deploying web applications. The reader is also introduced to the wider Node.js community and how to participate and contribute back to make Node.js a more robust and useful platform. This is perhaps the driest part of the book but does provide a good reference to revisit when the reader is ready to launch their application to the wild world of the internet and needs to ensure uptime and performance.
The Appendices round out the book with details on how to install Node.js and also how to debug Node.js applications. Both of these topics are vitally important; precluding the former would be a non-starter for a book on Node.js whilst precluding the latter would make writing any non-trivial application a teeth-pulling experience, but it makes sense that both topics are included in the appendices as opposed to in the main body since each has a tendency to disrupt the flow of information presented within the book.
Full Disclosure: I was provided a free electronic copy of Node.js in Action by the publisher, Manning books, in exchange for an Amazon review. This fact has not influenced the honesty or integrity of this review; it has taken me around six weeks on and off to finish reading the book in order to write this review, time that as a professional software developer far outweighs the value of an electronic copy of the book!