New Book Review: "RESTful Web API Design with Node.js (Second Edition)"
New book review for RESTful Web API Design with Node.js (Second Edition), by Valentin Bojinov, Packt Publishing, 2016, reposted here:
Practical starting point for designing and developing REST services using Node.js, supporting frameworks such as Express and Passport, and NoSQL databases such as MongoDB. Unlike many technical books in the marketplace, this guide makes an attempt to walk the reader step-by-step through the development process from square one, in this case to build a small application that demonstrates some relatively basic REST services.
If my last sentence above sounds familiar to you, it is possible that you read my June 2015 review of a similar text entitled "Spring REST", as I used very similar verbiage in my opening paragraph. While this earlier text covered the building of REST services using Java rather than JavaScript technologies, the end goal here to provide REST services is very much the same, as the author takes similar steps using a different stack.
However, this book is a bit more lightweight at about 135-pages in length rather than 175-pages. In addition, after building an initial application while working through Chapter 2, you will find yourself building several iterations of this initial application throughout the remaining chapters, and the streets are not as well marked. While I always recommend not downloading and using code provided with a book until giving the code in the text a concerted effort (since doing so typically enhances the learning experience), be especially careful with this particular book.
The main reason to be careful here is that the author tends to skip more and more steps as the content progresses, and I found myself piecing things together quite a bit. Needing to do so can be seen as beneficial in order that one is forced to understand gaps and to seek out and use supporting reference materials from the community, but following the process of building applications as presented by this author can be tedious a times, so I did not end up working quite through 100% of the covered development.
The main issues of the text reside in the JavaScript code presented in Chapters 4, 5, and 6. In addition, while Chapter 3 in retrospect obviously provides Express output which did not match the output in my environment a few months ago because I used the newest version of Node.js at the time (v6.6.0 rather than v5.5.0 used in the book), the code in Chapter 6 has issues not as easily discovered, such as the step to install the linkedin-strategy module as part of the demonstration to use OAuth in conjunction with LinkedIn, which instead required passport-linkedin.
Despite all of these issues, I still recommend it to those needing a starter book that walks them through the building of REST services using Node.js. Just realize that this text is very light on some of the areas of discussion, such as the coverage of unit testing in Chapters 2 and 4, and the coverage of MongoDB in Chapters 4 and 5, and has a number of coding issues that might set one back a bit in terms of time. That said, be prepared to quickly outgrow this book as you continue to explore the Node.js ecosystem.