Saturday, February 18, 2006

Book Review - "Professional Ajax"

"Professional Ajax" by Nicholas C. Zakas, Jeremy McPeak, Joe Fawcett
Published by Wrox

The book does a good job academically of showing how Ajax has evolved (itself a debatable topic) and how it is used in modern-day applications. The book doesn't marry the reader to any one particular web development framework, effectively citing examples in PHP, .NET, and JavaServer Pages. Practically, the authors exhibit a proper mix of (X)HTML, CSS, JavaScript, Dynamic HTML and XmlHttpRequests, showing how the technologies are blended for developing next-gen UIs.

There are great discussions of advanced concepts like JSON, REST, and SOAP-based web services and how Ajax is incorporated into them. Also, coding to allow cross-browser compatibility is stressed throughout the book, particularly in instantiating an XMLHTTP object across IE, Firefox, Mozilla and Safari. The authors' zXml and XParser are cited as two of several third-party libraries to seamlessly pull this off.

Some gems that I found within the book include Chapter 8 - "Web Site Widgets", which is very helpful, giving practical demonstrations and usable code for several Ajax-driven mini-applications we could all use in our web projects. Chapter 7's case study of a Google Suggest-style autocomplete text box was very elegant, using JSON as an alternative to XML's typically verbose payload. Chapter 2 - "Ajax Patterns" also abstracts many of the features common to apps using Ajax (i.e., polling, autosave, incremental updating). All are well done and greatly appreciated.

Syntactically, the authors' programming style is very clever. While not exhaustively described, the book shows how to feign object-oriented programming in client-side JavaScript, making liberal use of such time-saving coding tricks like faux classes, inline function definitions and prototypes.

In criticism, the one chapter I found to be a letdown was Chapter 5 - "RSS/Atom", mainly because I'm very involved with work in that space. A terse description of content syndication is presented, but then followed exclusively by an analysis the FooReader.NET web-based RSS aggregator app. It's nice, but doesn't take a more holistic view of how Ajax is being used elsewhere. I would have also liked to see examples in emerging platforms, specifically Ruby on Rails and the Ajax support built directly into that web framework.

But overall this is a very good introductory read for experienced programmers wanting to get up to speed on the next big thing in advanced web UI development. I'm a better, more aware, more prepared developer for having read it.

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

Subscribe to Posts [Atom]