Ajax Design Patterns: Creating Web 2.0 Sites with Programming and Usability Patterns
By: Michael Mahemoff
Published by O'Reilly
I'd like you to ask yourself two questions before you pick up Ajax Design Patterns: Creating Web 2.0 Sites with Programming and Usability Patterns... What is Ajax? What constitutes a Design Pattern? Your perception of this book written by Michael Mahemoff and published by O'Reilly will be affected by how you approach these concepts.
By : Michael Mahemoff
Ajax stands for Asynchronous JavaScript and XML, but really the paradigm makes use of more technologies than just JavaScript and XML. For some, Ajax ultimately describes an interaction between browser and server based on the XMLHttpRequest object. They will argue that without the XMLHttpRequest object, the technology is just plain old DHTML. Yet others may not make such distinctions and they will argue DHTML is dead and Ajax is its successor. If Ajax is the DHTML of Web 2.0 and Web 2.0 itself is a nebulous, apply-your-own-definition buzzword, then why draw boundaries around its technologies?
Design Patterns on the other hand have been around quite a time longer and so the meaning of the term is more established. These are formulas describing how to solve a common programming task. Having been proven tried and true, the patterns are often best-practices. Others may draw more blurred boundaries, though, which is why I suggest questioning what you consider the essence of a design pattern. Would debugging be a design pattern? Debugging is a necessary activity, though I don't know if I would go so far as to declare it a design pattern.
I appreciated the balanced attitude of the author which came through loud and clear in just the first few pages. Yes this is a book about Ajax, but he didn't push Ajax as a silver bullet curing all web development ailments. He acknowledges the strengths and weakness of Ajax and provides an honest comparison to other technologies out there, such as Flash. The reader is encouraged to use the best tool for the task at hand.
The layout of the book was interesting. Imagine your typical Web 2.0 community web site printed and bound and you'll have some idea as to the book's look and feel. Diagrams looked more like pencil sketches than illustrations laid-out by the publisher's graphics art department. Each design pattern discussed even has a set of tags/keywords listed, adding to this decidedly web 2.0 flavor. While I liked the images, I felt tagging was useless as there isn't a central index of all of them--something needed in a printed media with the absence of hyperlinking.
The book contains 70 patterns split across four groups: Foundational, Programming, Usability and Development. Each pattern is presented with a 'goal story,' problem statement, an enumeration of driving forces to take into consideration and real world examples. I appreciated that a scale was supplied to indicate the level of widespread acceptance for each pattern.
It took me a while to understand exactly what the book was. It will help you think about patterns but it won't necessarily teach you patterns. It's not an Ajax how-to (though there were some instructions in the book's first part), nor would I consider it a set of design pattern tutorials. Mahemoff has written a book that you'll find yourself reading over the course of several months and pondering the discussions he presents. It's not a book that you'll grab off your bookshelf to look up the finer points of implementing a pattern. Perhaps it would have been more apt for the book to carry the subtitle Ruminations on Web 2.0 Programming and Usability Patterns.
The pattern discussions were excellent and went in-depth, but the book lacked as much indexing as I would have liked. It would have been helpful if the book had an appendix indexing all the real world examples presented in the patterns. I found myself later wanting to explore a few of them online and had to dig through the text to find their URLs. The patterns themselves were indexed and were given a brief summary on the inside front and back covers which was nice.
What you get out of this book will be determined by how you approach it. If you're looking for honest, in-depth discussions on many of the design and usability patterns used in the budding Ajax community then you'll find a great deal in this book. If you expect it to be a how-to you'll be sadly disappointed. My advice would be to check out the website's wiki at ajaxpatterns.org and if you like what you see, think about picking up the book to add to your library.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More Miscellaneous Reviews Articles
More By Codewalkers
developerWorks - FREE Tools! |
This demonstration gives you an overview of IBM® Rational® Build Forge Express Edition, a global offering that provides a framework to automate and execute software processes. Rational Build Forge provides a software assembly line that can support all of your tools, technologies, and platforms so you can achieve a repeatable, reliable, and traceable build and release process. FREE! Go There Now!
|
|
|
|
Join us for this on demand webcast to learn about developing complex systems more quickly and efficiently. We'll cover market drivers for developing, governing and reusing systems software assets and how you can develop system software assets with Rational Asset Manager. FREE! Go There Now!
|
|
|
|
Download a free trial version of IBM Rational Developer for System z, software that can help you deliver core development capabilities; the power of Java Platform, Enterprise Edition (Java EE); and rapid application development support to diverse enterprise application development teams. With comprehensive development tools to help create, deploy and maintain traditional enterprise and composite applications, Rational Developer for System z enables developers with different technical backgrounds to easily participate in important technology projects. FREE! Go There Now!
|
|
|
|
This webcast outlines the best practices that must be instituted to gain the maximum benefit from SOA while maintaining high quality of service. Whether you are deploying new applications or managing and monitoring your existing infrastructure, learn how you can ensure high quality of services with SOA based solutions from IBM. All registrants who attend this live Web Seminar will receive complimentary access to a white paper titled “Maintaining QoS in an SOA Environment”. FREE! Go There Now!
|
|
|
|
Portfolio Management is about effectively managing portfolio value by aligning portfolio investments with business goals. This complimentary e-kit provides a collection of materials that can help you understand how IBM Rational enables and automates best practices for improved governance and clear visibility into portfolio and project performance across the entire IT project lifecycle. FREE! Go There Now!
|
|
|
|
This Fall, IBM Rational talks to you directly through a special teleconference series giving you access to the best minds in IBM Rational - product experts and market thought leaders who will answer your questions during these pre-scheduled telephone conference calls. Register today! FREE! Go There Now!
|
|
|
|
This paper is about the critical role that a discipline called integrated requirements management can play in helping to ensure that your business goals and IT investments are continuously aligned—whether you are sourcing, integrating, building or maintaining software. It also looks at ways that automated IBM Rational® products can work together to help you use requirements in the very best way. FREE! Go There Now!
|
|
|
|
Visit IBM developerWorks to try the IBM SOA Sandbox for process. The SOA Sandbox for process focuses on providing a trial environment with the necessary tooling and components required to gain a better understanding of business processes and how to best improve existing business processes to derive value quickly. FREE! Go There Now!
|
|
|
|
As businesses grow increasingly dependent upon Web applications, these complex entities grow more difficult to secure. Most companies equip their Web sites with firewalls, Secure Sockets Layer (SSL), and network and host security, but the majority of attacks are on applications themselves – and these technologies cannot prevent them. This paper explains what you can do to help protect your organization, and it discusses an approach for improving your organization’s Web application security. FREE! Go There Now!
|
|
|
|
Attend this launch webcast with Scott Hebner, Vice President of IBM Rational Marketing and Strategy, where he will overview Rational’s new offerings and programs to help customers accelerate software innovation on System z. He will discuss how these solutions help organizations extend their core business processes toward modern architectures such as SOA and web technologies to deliver business improvements that stand the test of time. FREE! Go There Now!
|
|
|
|
All FREE IBM® developerWorks Tools! |