Selecting the six
Passing over dozens of excellent packages and thousands of perfectly adequate solutions, I selected high-profile toolkits supported by the most stable organizations: Dojo, Google Web Toolkit, Microsoft Atlas, Open Rico and Prototype, Yahoo AJAX Library, and Zimbra’s Kabuki AJAX Toolkit. Microsoft’s Atlas may not be open source — the license includes terms that would rankle a devotee — but the code you create with the system is yours to license as you like, and you’ll be able to create Atlas apps with few practical restrictions.
The six packages I examined all offer a number of extremely useful user interface widgets and background tools for simplifying the process of building an AJAX application. They will be most interesting to developers with running applications who only want to add a new part or update a page. If you want to add an animated panel or a live table, for example, you can usually cut and paste them into place; the examples are generally good enough to help you accomplish the basic routines.
Still, there’s often a need to fidget and fuss with the code if you want to do things that are even slightly different from the established framework. It’s a feeling that will be familiar to most programmers who have used open source: The code is often quite nice, but the developers seem more interested in getting it out the door than re-engineering it until it’s even easier to use.
For instance, with some of these tools it took me just a few minutes to add a table of data that could be sorted on the client — if I imitated the example code as closely as humanly possible. But if I tried to improvise or do something differently, the code would break, and the documentation was often quite unhelpful.
This rough surface means that any development team should think about its environment before putting open source AJAX tools into action. If you have seasoned programmers and the ability and time to use the freedom and flexibility provided by the source code, these toolkits are great deals. If you’re a newer programmer or someone without the time to wade into a project, you should think twice about the costs and consider the more professional packages.