Some of the toolkit's notable features are:
A robust event system that allows for code to execute not only on DOM events, but also on function calls and other arbitrary events
A widget system that allows for the creation of reusable components, and includes a number of prebuilt widgets: a calendar-based date picker, inline editing, a rich-text editor, charting, tool tips, menus and trees, and more
An animation library that allows for the creation of reusable effects, and includes a number of predefined effects, including fades, wipes, slides, drag and drop, and more
A wrapper around the
XMLHttpRequest object, allowing for
easier cross-browser Ajax development
A library of utilities for DOM manipulation
More recent Dojo developments include the announcement of official support by both Sun Microsystems and IBM (including code contributions), and the Dojo Foundation's involvement with the OpenAJAX Alliance (http://www.openajax.org/).
As of this writing, the current version of the Dojo Toolkit is 1.3.2.
The dollar sign functions—
$F( ), $A( ), $$( ), and so on
In this book, I am using Prototype version 220.127.116.11, though the latest version as of this writing is 1.6.
script.aculo.us features include:
Visual effects, including opacity, scaling, moving, and highlighting, among others
Dragging and dropping, plus draggable sorting
Autocompletion and inline editing
As of this writing, the current version of script.aculo.us is 1.8.2.
moo.fx is not a replacement for script.aculo.us, and instead creates its own effects for Ajax web applications.
As of this writing, the current version of moo.fx is 2.
DWR consists of two main parts:
A Java servlet running on the server that processes requests and sends responses back to the browser
DWR acts differently than other frameworks and libraries because the pushing of data back and forth gives its users a feel much like conventional RPC mechanisms such as RMI and SOAP, with the added benefit that it runs over the Web without requiring web browser plug-ins. DWR is available under the Apache Software License v2.0.
As of this writing, the current version of DWR is 2.0.
As of this writing, the current version of jQuery is 1.3.2.
As I explained earlier in the chapter, Sarissa (http://sarissa.sourceforge.net/) is a library that encapsulates XML functionality. It is good for XSLT- and XPath-related problems. It has good DOM manipulation functions, as well as XML serialization. Its major benefit is that it provides cross-browser functionality without the developer having to take care of everything else, and it is small in size. It is an ideal library when a developer needs nothing more complicated than some XML DOM manipulation.
Sarissa is distributed under the GNU GPL version 2 and later, the GNU LGPL version 2.1 and later, and the Apache Software License v2.0. Having three licenses to choose from makes Sarissa a flexible library as well.
As of this writing, the latest release of Sarissa is 0.9.9.4.
Of course, you can use many other frameworks to develop Ajax web applications. Frameworks such as Rico (http://openrico.org/), Yahoo! UI (http://developer.yahoo.com/yui/), and Ajax.NET (formerly Atlas; http://ajax.asp.net/) are also popular depending on the development environment, though their use is more in the four to five percent range. The examples in the rest of this book will use many of the frameworks I've highlighted here.
You can find an exhaustive list of frameworks for Ajax in Appendix A of Ajax Design Patterns by Michael Mahemoff (O'Reilly). His list highlights each framework and explains its licensing terms.
 * You can find Sun Microsystems' article at http://www.sun.com/smi/Press/sunflash/2006-06/sunflash.20060616.1.xml