I thought the perfect way to get this blog going again, was to start with an Angular 2 book review. This is just the first in a series (next up, is ng-book2, of which I’ve read 150 pages).
This first review is on Angular 2 Development with Typescript by Yakov Fain and Anton Moiseev. The final book is not out yet, so this review is on Meap #8 (check the book’s page for a detailed ToC and a free pdf of Chapter 1).
To start, I must mention that I’ve read this book twice. My first read, was back in May, when Angular was in the RC stage and I (and everyone else) thought there would be no further breaking changes. Once the Angular team started breaking things, I stopped reading about Angular 2 and decided to wait for things to settle down. It took a lot longer than I expected, but after Angular 2 final was released, I thought it might be safe to dive in again..and see what has changed since RC2.
I remember loving this book on my first read through. Its obvious the authors know the topic, as well as programming in general. One of my pet peeves is seeing a book that does a good job of teaching a library/framework, but does so while teaching bad programming practices. That is not a problem here. Not only will you learn solid ng2 concepts, but solid general programming principles as well.
Along with walking you through the major ng2 topics, the book ends each chapter by gradually adding features to an application…so the app grows and expands more with each chapter. I like this way of reinforcing topics, as it provides a way to read for knowledge, but also get hands-on with some code before moving on to the next chapter. The book has also been updated to reflect the final ng2 release, which means it covers the latest changes to the router and forms.
Overall, I think this is likely to be one of the best resources for learning ng2, especially right at this moment. However, I do have a couple of minor complaints. First, I wish there was a whole chapter devoted to diving further into RxJS, and I would have liked a chapter (or appendix) covering the angular-cli. Second, I found my second read-through to be a little harder than the first. The first time I read this book, during the RC phase, I (and the authors) thought their book was done and nearing release. Then the breaking changes to ng2 happened, and the authors had to update the book. Personally, I think this messed up the flow a bit. On my second read, I felt some of the topics were either rushed, or hard to follow. I’m guessing this is a side-effect of having the book complete, then having to go back and rewrite portions of it…made it feel slightly disjointed in places (or the problem could be just me struggling to understand portions of the updated sections).
Regardless of those quibbles, I would still highly recommend reading this book, if you are ready to jump into learning Angular 2. Oh, and if you don’t know ES6 or Typescript yet, those are adequately covered in the appendixes.