Relevance Review #11: Ajax Design Patterns

I approached Ajax Design Patterns, by Michael Mahemoff, with some trepidation. I am suspicious of design patterns, because like many useful ideas, design patterns are often overused, followed dogmatically, or used as a substitute for understanding.

I needn't have worried. Ajax Design Patterns (ADP) is an excellent book, and for many people may be the best Ajax book currently available. There is a lot of solid technical advice. Michael knows, and knows how to explain, JavaScript and Ajax. But the technical details are only the foundation. Michael uses the vocabulary of patterns to continually ground Ajax in usability. Ajax is never just for Ajax's sake, but always about improving the user experience in some way. It is fairly easy to find the technical details OR the design focus, what's nice here is that ADP gives you both, and the technical details are in service of design goals.

Michael isn't afraid to bend the definition of "design pattern" where it makes the book more useful. Ajax programmers need to know the diagnostic tools that are available, so that gets a chapter. The JavaScript world urgently needs better unit testing, so that gets a chapter too.

The book packs an enormous amount of information. It is probably heavy for a beginner, but ADP does a great job of starting at the beginning and moving all the way to advanced topics. There are tons of references throughout, so ADP functions not just as a book but as a roadmap.

Finally, there is one particular detail that I loved about this book. Rather than bury me under sample code, the samples include just enough code to make the point. The complete sample code is online, so this tradeoff is perfect for me. If you are looking to work through the code in the book yourself, you will have to fill in the blanks or get the code online.

This book joins my other favorites, Ajax in Action and Pragmatic Ajax. Now if somebody could please write the killer "JavaScript: The Language" book...