Book review – Mastering Web Application Development with AngularJS by Pawel Kozlowski, Peter Bacon Darwin

Just finished reading Mastering Web Application Development with AngularJS now. So let’s begin from the end – it’s great complete book about developing AngularJS rich web application.

For me – reading this book was to keep up with great new technologies and strengthen my abilities as a full stack developer and architect. AngularJS is a relatively new framework for JS but has a whole new approach and learning it was very interesting.

AngularJS is very popular, it has excellent community and a lot of resources online – http://www.angularjs.org/, http://blog.angularjs.org/, Google + (+AngularJS), and Twitter (@angularjs)

So you probably ask yourself now – Why should I care and read this book? There’s such great community around AngularJS so I’ll just follow online

The best thing about this book is that it shows real life application (SCRUM management system) examples and explains very clearly about many idioms, patterns, best practices, typical scenarios, workflows, and warns about common pitfalls.

The book have a good structure, it starts with a bird’s eye view on AngularJS and then dives deeper to different parts of the framework. Each chapter dedicated to another aspect of developing a rich web application. It starts with the basics like binding, filters, controllers, models, communicating with a server, forms, testing, building, and organizing the application. Then continues into more advanced topics like navigation and routing, directives, security, multilingual support, robustness, performance, and deployment of the application.

It starts with simple scenarios and build on top of them more complexity in a gradual manner.

Essentially the book describes the full flow of developing a modern application starting from a folders structure and naming conventions, automated build, project structure, development of basic and complex scenarios, maintenance, and deployment.

This book is mostly practical but it contains some theoretical material too. In each chapter the book show a real life scenarios or problems and suggests a solution to them. After the solution provided the book also explains how that magic happens behind the scene of AngularJS and provides some low-level details of what’s going on in the background of the engine, this way it helps the reader to gain a better understanding of the internal implementations in the framework.

In addition, the book describes very briefly some useful tools and workflows that these tools should be used in like – grunt, karma, batarang, plugins for WebStorm/sublime, less. In my opinion the writers should’ve talk a bit more about these tools.

All the code samples from the book can be found on github – https://github.com/angular-app/Samples . At some point (about the middle of the book)the book starts providing code samples in http://plnkr.co/ (It’s a JSFiddle alternative), I liked this approach because it sets an instant playground for the examples. I hope that the authors will do it for all the samples in the next edition of the book.

The authors – Pawel Kozlowski very active in the open-source and AngularJS communities, has a lot of experience developing web applications.
Peter Darwin has a lot of .NET experience, so I liked this guy even before reading the book(Most of my personal experience is writing .NET server applications). For me AngularJS did to web development what Microsoft did with XAML to desktop application and in my opinion there’s a great similarity between the both. Peter Joined the AngularJS team @ Google so I guess it’s a good thing to get some insider’s tips.

So is it all perfect? Or … What I miss in the book-

SEO – That’s a big thing for most websites. With AngularJS the approach is different because the application is built dynamically and the search engine crawlers can’t see the content correctly. But don’t worry – you’ll can find tons of information about this online.

The whole application (SCRUM management) overview – The book talks about developing a SCRUM management application. In each chapter other parts of the application shown and implemented. The code of the full application is on GitHub https://github.com/angular-app/angular-app. But still I’m missing the chapter that talks about gluing it all together to one working application.

Leave a Reply