Professional Ajax 2nd Edition provides a developer-level tutorial of Ajax techniques, patterns, and use cases. The book begins by exploring the roots of Ajax, covering how the evolution of the web and new technologies directly led to the development of Ajax techniques. A detailed discussion of how frames, JavaScript, cookies, XML, and XMLHttp requests (XHR) related to Ajax is included. After this introduction, the book moves on to cover the implementation of specific Ajax techniques. Request brokers such as hidden frames, dynamic iframes, and XHR are compared and contrasted, explaining when one method should be used over another. To make this discussion clearer, a brief overview of HTTP requests and responses is included.
Once a basic understanding of the various request types is discussed, the book moves on to provide in-depth examples of how and when to use Ajax in a web site or web application. Different data transmission formats, including plain text, HTML, XML, and JSON are discussed for their advantages and disadvantages. Also included is a discussion on web services and how they may be used to perform Ajax techniques. Next, more complex topics are covered. A chapter introducing a request management framework explores how to manage all of the requests inside of an Ajax application. Ajax debugging techniques are also discussed.
The last part of the book walks through the creation of two full-fledged Ajax web applications. The first, FooReader.NET, is an Ajax-powered RSS reader. The second, called AjaxMail, is an Ajax-enabled email system. Both of these applications incorporate many of the techniques discussed throughout the book.
Professional Ajax 2nd edition iswritten for Web application developers looking to enhance the usability of their web sites and web applications and intermediate JavaScript developers looking to further understand the language. Readers should have familiarity with XML, XSLT, Web Services, PHP or C#, HTML, CSS. This book is not aimed at beginners without a basic understanding of the aforementioned technologies. Also, a good understanding of JavaScript is vitally important to understanding this book. Those readers without such knowledge should instead refer to books such as Beginning JavaScript, Second Edition (Wrox, 2004, ISBN: 978-0-7645-5587-9) and Professional JavaScript for Web Developers (Wrox, 2005, ISBN: 978-0-7645-7908-0).
Professional Ajax 2nd edition adds nearly 200 pages of new and expanded coverage compared to the first edition. Some of the new topics covered here include:
ASP.NET AJAX Extensions (formerly code-named "Atlas")
And of course the Second Edition retains and updates the core first edition content including:
This book is also available as part of the 4-book JavaScript and Ajax Wrox Box (ISBN: 0470227818). This 4-book set includes:
Nicholas C. Zakas has a BS in Computer Science from Merrimack College and an MBA from Endicott College. He is the author of Professional JavaScript for Web Developers (Wiley 2005) as well as several online articles. Nicholas works for Yahoo! as a frontend engineer and has worked in web development for more than 6 years, during which time he has helped develop web solutions in use at some of the largest companies in the world. Nicholas can be reached through his web site at www.nczonline.net.
Jeremy McPeak began tinkering with web development as a hobby in 1998. Currently working in the IT department of a school district, Jeremy has experience developing web solutions with JavaScript, PHP, and C#. He has written several online articles covering topics such as XSLT, WebForms, and C#. He is also co-author of Beginning JavaScript, 3rd Edition (Wiley 2007). Jeremy can be reached through his web site at www.wdonline.com.
Joe Fawcett started programming in the 1970s and briefly worked in IT upon leaving full-time education. He then pursued a more checkered career before returning to software development in 1994. In 2003 he was awarded the title of Microsoft Most Valuable Professional in XML for community contributions and technical expertise. He currently works in London as a developer for FTC Kaplan, a leading international provider of accountancy and business training, where he specializes in systems integration.
Reader Rating:
See Detailed Ratings
February 18, 2006: 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.