The available solutions seem to be split into two categories: the large, encyclopaedic and general ones and the small and problem focused ones. Both have their good right to exist, but even one more decision criteria doesn’t make the life easier for those who have to decide what to do. On top of this, not all solutions can be used side-by-side without conflicts. And because some are using a totally different API style, it becomes nasty if one has to program with multiple ones at the same time.
Nevertheless, there are a few more or less matured solutions available. Each with its own pros and cons (which I really don’t want to go into detail here), but mostly all of them are at least worth a look for everyone who seeks for a “Web 2.0 toolkit”:
- Script.aculo.us (Prototype addon)
- OpenRico (Prototype addon)
- YAHOO! User Interface (YUI)
- DOJO Toolkit
- Kabuki Ajax Toolkit (AjaxTK)
- Adobe Spry
- OpenLink AJAX Toolkit (OAT)
Sorry, for all of them I personally looked not primarily at their features, but on the approach and implementation ;-) And here they differ also dramatically when it comes to documentation, code modularity and code maturity.
But at least three of them pleased me very much:
- jQuery: This small library is one of the most cool ones I’ve seen until now. It nicely combines the powerful CSS selector and XPath syntax for querying DOM nodes with the possibility to manipulate those DOM nodes through a fully chainable OO-style API. It allows one to script a solution really concisely. At least for Perl hackers like me who love concise code it was a pleasure to work with it. See the fading text in the bottom left corner on the TrainOfThought.org website for a solution based on jQuery. jQuery is certainly worth a look for the real hackers who wish small and concise solutions. And BTW, there is also a nice Interface Elements plugin for jQuery which provides additional support for UI design.
- Qooxdoo: This widget toolkit really impressed me both from a visual appearance and completeness point of view. The only thing I disliked was that one cannot “just include the source into your website and work with it” as it (for reasons I partly can understand and accept) requires that one really “builds” an application around it. Qooxdoo is certainly worth a look for those who want to build a full Web 2.0 application with a look & feel of a native one.
But just follow the above links and build your own opinion…