So a little over six months ago I started to learn Node.js and as a result also took an interest in front-end Javascript frameworks as well. I looked briefly at Backbone.js and Ember and then just at the right time, a free copy of the book AngularJS popped up at work with the provision that I write a review of it. So a nabbed it and started learning AngularJS.

Fast forward about 4 months.

I was supposed to have written this review months ago. However I kept putting it off, because to be honest, I didn’t like this book very much at all. It suffers from what appears to be a common problem with many technical books, is that the authors have a good understanding of the subject but just aren’t very good at communicating it to others.

The book is very confused about it’s audience, and perhaps isn’t very clear about what it is trying to achieve. Some important concepts are hand-waved away, while others receive too much detail. For instance, the authors seem to assume that readers are familiar with an important concept like Single-Page Applications and do not explain it at all but then spend a lot of time explaining concepts that you might expect that audience to also be familiar with, like Model-View-Controller, or the importance of modularizing code. It’s as though the authors each had different ideas about the amount of detail required, or their target audience and this was never reconciled by an editor.

The book generally wasn’t very intuitively structured. It would have benefited from the addition of better introductory content at the beginning and a better initial overview of how AngularJS applications work. A big source of annoyance for me was “Chapter 2, Anatomy of an AngularJS Application”. It is way too long. It accounts for 20% of the book. It’s like they felt they had to get everything in there, it’s almost like a widget travelogue. The modules and services content probably should be in its own chapter.

It is not a reference for experienced AngularJS developers.

It is not a good introduction for those new to the idea of SPA development.

All that said I have some familiarity with the subject matter and with some googling and experimenting I was able to get a working AngularJS app out of it, so it isn’t all bad. There is good information and examples in there, the authors just make you work harder than I think they should.

I give this book 2 out of 5 shiny things.

Title: AngularJS

Summary: A less than stellar but passable introduction to AngularJS if (and only if) you are already familiar with other similar frameworks. Poorly organized and written.