The book is quite well structured, with a focus on the language features and particularities in the first chapters, and with quick analysis of higher level concepts in the second part. It has its share of good, self explanatory examples, but there are also code snippets way too long and tedious for their context.
While the first part of the book really did a good job in running through the language itself, the discussions about higher level concepts were sometimes too abstract. This is probably caused by Elliott’s decision to treat Logging or Feature Toggles as subjects worthy of their own chapters, but not include more complex topics such as Databases or Testing.
The decoupling discussion is continued in Separation of Concerns(5). Elliott starts by running through some popular MV* patterns, and continues with a minimal server side setup based on Node and Express. Among others, the event driven programming concepts may be of interest.
The second part of the book starts with an insight into Access Control and Logging. Even though these are interesting topics, some of the information may be a bit too high level, or out of the scope of this book. The author looks into server security, malicious attack types and solutions to better analyze your logs. While this is valuable information, one may think that these topics were over analyzed while others, such as testing, were left untouched.
Chapter 8 covers Building RESTful APIs. While this has little to do with JS programming in particular, it is a good fit here due to the book’s target to cover robust web architectures. The chapter is full of useful information varying from suggestions to optimize for speed to a HATEOAS overview or alternatives to the JSON-based media type communication. As Elliott sates, this chapter could have been a whole book on its own, but it manages to present some important concepts everybody should be aware of.
The last to chapters, Feature Toggle and Internationalization are light discussions about other common issues in modern web apps. The wide range of topics covered by this book is proven once again while the author explains best practices of releasing new features to production.