If there is one open source AJAX project that is leading the pack these days, it might be Dojo. It’s not necessarily better in any particular way than the others, but it is both broad and deep with a big selection of very customizable widgets. These traits may explain why both IBM and Sun have recently signed on to support the Dojo Foundation and its work.
The project Web site and the code have the flavor of an exceptionally fertile open source project run by a neutral team of enthusiastic developers. The management is clearly aiming to encourage a wide range of contributions — as long as they fit Dojo’s basic philosophy demanding simplicity and clarity.
Dojo has an excellent editing package, a wide selection of animating boxes, some drag-and-drop tools, and much more. A tool for providing maps from Google and Yahoo just appeared in the latest 0.3.1 version.
I feel, however, that Dojo suffers a bit from the kitchen-sink-like quality of popular open source projects. Some parts of the library are well-documented and illustrated by a set of good demo pages. Other parts have little documentation, leaving developers on their own — the manual as well as the book describing the project have large holes typical of volunteer-built documentation.
Adding a bit of the Dojo toolkit to your Web application is pretty easy. The source code is modular, so your application only needs to load the necessary pieces using Dojo’s loading mechanism. In many cases, all you need to add is an extra attribute, dojoType, to your working HTML, and the code will do the work when it loads the page.
Dojo continues to improve as it attracts more developers with more ideas and code from other projects. The leaders are doing a good job of keeping these contributions in order, and there’s every reason to expect more sophistication in the future.
Zimbra Kabuki AJAX Toolkit
When Zimbra appeared as a complete solution for offering e-mail and calendar management to an office, many were impressed by the package’s sophisticated use of AJAX at all levels. Every widget was designed to have a real live feel.