My first review is for Learning AngularJS by Ken Williamson. Before I jump into it, I should mention this book is an “Early Release”, which means it is not the final edition. I assume the content is mostly there, but some editing and polish remains. With that out of the way, let me pass on my thoughts…
I’ve been working with AngularJS for quite a while now, maybe 18 months (my Github repo). That means I am not the target audience for this book. But having read several AngularJS books (and having read tons of tech books during my career), I would like to think I know what makes a good beginning book. I’ve also done some recent pre-publication technical reviewing for Packt and Manning (and O’Reilly several years ago). And I’m afraid to say that I don’t think this would qualify as a good beginning book on AngularJS. In fact, I’m a bit confused about the target audience for this book. If you are a developer, this book won’t help you learn enough AngularJS for it to be useful. If you are a designer, it might help you understand enough to add some html to a page that contains Angular. If you are a manager, it might give you a high level overview of the different pieces of Angular (animation, routing, directives, services, etc).
The biggest problem is that the book is SO shallow, I don’t see how it offers any benefits over other introductory Angular books or even many of the free online tutorials and blog posts. For example, the chapter on directives explains how to define a directive, how to restrict them to elements, attributes, classes in the html, and how to pass an html attribute into the directive. That’s it. Nothing else. The chapter on services shows you how to define a service module, and make some basic calls with $resource. Pretty much all of the chapters are this way. The book gives you just enough info to READ some Angular code, but nowhere near enough to actually do coding in Angular. If you view the Table of Contents, you’ll see that almost half of each chapter is devoted to testing. Great! No…the testing is so basic that it isn’t useful, other than as a skeleton for how to write your first, basic test.
To say something positive, the author does point out useful tips occasionally throughout the book. But without major changes to the content, I wouldn’t recommend this to a developer who needs to learn AngularJS. If you are interested in a super high-level view of Angular, just to get an idea what its about, you might get something from this book. But you could also find this info for free on a ton of blogs (see my Angular Learning repo on the Github account).
I’ll keep an eye out for the final book to be published (the current pub date is March 2015) and update this review if the book’s content changes significantly.