Wednesday, November 15, 2006

Book Review: "AJAX Design Patterns"

"AJAX Design Patterns" by Michael Mahemoff
Published by O'Reilly

Michael has quickly staked his claim as a major driving force in the world of software design, most notably in the vein of AJAX development, and his outstanding work on "AJAX Design Patterns" is certainly testament to that. Despite the book's title implying a heavy lean towards application development via asynchronous remote scripting, it's actually is more accurate in its subtitle, being applicable towards the trendier Web 2.0 movement (but given the mixed reactions to Web 2.0, I can see how such might want to be played down.)

The book's organization is logically laid out, providing a historical and academic profile of the technological foundations that gave rise to modern-day asynchronous programming. Michael then leads into the actual patterns, being grouped by function. Probably the most relevant to web developers are those related to into the various forms of web remoting, DOM manipulation, and next-gen visualization (i.e., drag-and-drop effects); while programming patterns geared for performance enhancement and code generation will whet the appetites of even the most advanced coders.

(Among my favorite patterns are those dealing with HTTP streaming (a field of which Michael's a pioneer), on-demand JavaScript, and content refreshing.)

If, for no other reason, you buy this book it should be for any developer considering themselves to be cutting-edge should buy this book for the section on Chapter 9 on REST applications development. This in my opinion is the most well-rounded discussion of what RESTful production is(n't), and how to incorporate such architecture into your own web projects. Being a .NET developer, that platform's framework serves to both abstract my kind away from having to directly deal with such concepts, or Microsoft blatantly neglects to mention it at all. After scouring the Web for months looking for good content on REST, Michael lays it all out in easy to understand lingo and examples. I'm having the REST chapter photocopied and bronzed for my desk. It's that good.

The one thing I didn't dig too much about the book is its exclusive lean towards PHP for examples where server-side logic was needed. While other platforms like J2EE, .NET, Ruby on Rails and Cold Fusion are keenly cited for their contributions and capabilities, the vast majority of the code is in PHP. But this is just a personal quirk…I'm obviously not big on PHP.

But that minor preference aside, I've followed this book's development since its days as a wiki. It's an invaluable resource as your online development begins to get more complex in a demanding world expecting web apps with rich UIs and multifaceted formats (e.g., JSON, SOAP, XML, et al.). I find it to serve equally well as programmer's reference and architecture guide. I rarely rate any books a perfect score, but this certainly is deserving of such a nod.

This is truly a masterpiece, and one that no developer doing Web 2.0 work should be without.


Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]