A.1.1. AjaxFace (from 2005)
Open architecture for updating and retrieving data from the backend
Automatic synchronization of data and UI
Easy customization of look-and-feel through well-defined stylesheets
Online demo (http://www.vertexlogic.com/demo.html)
Commercial license by VertexLogic
A.1.2. Backbase (from 2003)
Backbase (http://www.backbase.com) is a comprehensive browser-side Ajax framework with cross-browser support. The Backbase Ajax framework is compatible with any server-side platform (e.g., Java, .NET, PHP, or Coldfusion).
Free community edition for noncommercial/noninstitutional use
Advanced tooling for .NET developersVisual Studio 2005 plugin
Advanced tooling for Java developersJSF taglib/Eclipse integration
Over 80 Ajax widgets/components at Backbase Explorer (http://www.backbase.com/demos/explorer/)
Active Ajax developer community at Backbase DevNet (http://www.backbase.com/#dev/home.xml)
Online Ajax demos/starter kits at Check Out (http://www.backbase.com/#home/pulldown/demos.xml)
Commercial license by Backbase (formed in 2003)
A.1.3. Bindows (from 2003)
The Bindows Framework provides you with the following:
A class-based, object-oriented API
A complete windowing system with a wide array of supported widgets including menus, forms, grids, sliders, gauges, and more
The leading toolkit for developing zero-footprint SOA client-side applications
Native XML, SOAP, and XML-RPC support
Single-user to enterprise-level support
Built-in support for Ajax
The Bindows development environment includes:
Enterprise scale projects support
Cross-browser, cross-platform support
Server independent architecture
Interoperability with new and existing resources
Uniform development methodology
Commercial license, by MB Technologies (based in GA, USA, with the main development center in Sweden, formed in 2002)
A.1.4. Dojo (from September, 2004)
Dojo (http://dojotoolkit.org/) offers comprehensive widget and browser-server messaging support:
Library of pre-built widgets
Solid drag-and-drop, effects, and generic animation support
Browser-server messaging support such as XMLHttpRequest and other mechanisms
Event management (see Distributed Events [Chapter 10])
Support for bookmarkability and manipulating URLs in the browser
Open source license (Academic Free License 2.1); led by Alex Russell (http://alex.dojotoolkit.org/) of JotSpot (http://www.jot.com/)
A.1.5. eBusiness Applications (EBA) Ajax Components (from 2002)
EBA (http://www.ebusiness-apps.com/) offers self-contained Ajax components enabling data entry and lookup:
Library of prebuilt widgets supporting multiple backends (Java, PHP, ASP, and .NET)
Excel-like data entry and grid tool (see Data Grid [Chapter 14])
Multimode combo box enabling configurable livesearching (Smartsearching, autocomplete, compact, etc.; see Live Search and Suggestion [Chapter 14])
Active user community (EBA Developer Forums at http://forums.ebusiness-apps.com)
Online Ajax demos (EBA Grid at http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebagrid/productdemos/griddemos.htm)
Commercial license by eBusiness Applications
A.1.6. Engine for Web Applications (from 2002)
Engine for Web Applications (http://www.imnmotion.com/projects/engine/) is a framework for building modular components for web applications and separating content from functionality:
Registry for storing, retrieving, and destroying objects that conform to the common interface
Message service for intraobject publications and subscriptions
Transaction service for asynchronous multiobject communication
Task service for bootstrapping client-side modules of a web application and for creating dependency-based task lists; can load an XML-based task.
Ability to easily create scoped and redistributable components in XML with automatic event hook-up and containment
Store and retrieve form field values regardless of whether the form field still exists
Monitor service for easily creating beacon and Ajax monitoring solutions
API Documentation (http://www.imnmotion.com/projects/engine/api/engine_api.html)
Demonstrations with source (http://www.imnmotion.com/projects/engine/demonstrations/)
Open source license (custom license) by Stephen W. Cote (http://www.imnmotion.com/)
Geared toward single-screen, zero-latency web applications.
Excellent scalability (much less server roundtrips).
True MVC separation.
True server-side/client-side code separation.
Very light footprint; only a handful of methods to learn (the framework is 25 KB uncompressed).
Based on Open Standards (XML/XSLT).
Works with any modern web browser: IE, Firefox, Safari, and Opera.
See Tutorials (http://www.csscripting.com/wiki/index.php?title=Freja#Tutorials) and Documentation (http://www.csscripting.com/wiki/index.php?title=Freja_Documentation).
Open source license (CC-GPL).
A.1.8. Mochikit (from 2005)
MochiKit.Async: manage asynchronous tasks
MochiKit.Base: functional programming and useful comparisons
MochiKit.DOM: painless DOM manipulation API
MochiKit.Color: color abstraction with CSS3 support
MochiKit.DateTime: "What time is it anyway?"
MochiKit.Format: string formatting goes here
MochiKit.Logging: we're all tired of alert( )
MochiKit.LoggingPane: interactive MochiKit.Logging pane
MochiKit.Visual: visual effects
Open source license (MIT license or Academic Free License, v2.1) by Bob Ippolito
A.1.9. OpenRico (from May, 2005; based on earlier proprietary framework)
OpenRico (http://openrico.org/demos.page) is a multipurpose framework with support for Ajax infrastructure and user interaction.
Ajax animation such as scaling and transitions (and presumably the increasingly common idioms such as progress indicators and fading technique)
"Behaviors," which is essentially a widget library
External tutorial by Yonah Russ of Mirimar (http://www.mirimar.net/mailbrowser/)
Builds on prototype library
Open source license; grew from Sabre Airline Solutions internal product, by Bill Scott, Darren James, Richard Cowin, and others (http://looksgoodworkswell.blogspot.com)
A.1.10. Plex Toolkit
Full set of widgets such as datagrid, tree, accordion, pulldown menus, DHTML window manager, viewstack, and more (over 60 libraries)
Markup driven (makes it easy to build the interface)
Interface components can be easily themed with CSS
Client side XSLT for IE and Mozilla
Well-documented with examples
Multiple remoting transport options such as XMLHttpRequest and IFrame (an RSLite cookie-based coming soon)
Back button support (complete history management for all components)
Support for YAML serialization
A project run in conjunction with Ruby on Rails, but can be (and certainly is) used independent of Ruby or RoR
Open source license by Sam Stephenson
A.1.12. qooxdoo (from May, 2005)
qooxdoo (http://qooxdoo.oss.schlund.de/) is another ambitious framework with a broad range of UI and infrastructural features being developed.
Widget framework and library of prebuilt widgets
Image caching and portable PNG transparency
Open source license (LGPL) by various contributors
A.1.13. Script.aculo.us (from 2005)
Visual Effects (see One-Second Spotlight [Chapter 16]).
Drag-And-Drop (see Drag-And-Drop [Chapter 15]).
Unit-Testing (see System Test [Chapter 19]).
Open source license by Thomas Fuchs and others. A project run in conjunction with Ruby on Rails, but can be (and certainly is) used independent of Ruby or RoR.
A.1.14. SmartClient (from 2000)
SmartClient (http://www.smartclient.com) from Isomorphic Software is a cross-platform Ajax RIA system.
Cross-browser foundation classes and services:
JSON or XML programming
Browser abstraction layer
GUI component services
Logging and debugging services
Extensible GUI components
Navigation and command controls
Form controls and managers
Flat, hierarchical, and multidimensional grids
Containers and layout managers
Data and services stack:
Client data caches and local operations
Client data model managers
Communication and protocol services
Visual development tools:
Component inspector and editor.
Integrated developer reference.
SmartClient Ajax applications run on Internet Explorer, Mozilla, Netscape, Firefox, and Safari web browsers, and on Windows, MacOS, Linux, and Solaris operating systems. Unlike other Ajax systems, SmartClient applications are fully functional even when ActiveX is disabled.
See www.smartclient.com for a product brief, live demos, and downloadable SDK.
Commercial license by Isomorphic Software.
A.1.15. ThyAPI (from end of 2004)
ThyAPI (http://www.sf.net/projects/thyapi/) is a library of DHTML reusable components. Ajax is only one of its features. Its main purpose is to allow the creation of full desktop-like applications in a browser. ThyAPI is a library based on DynAPI (http://www.sf.net/projects/dynapi/), and open source (LGPL).
Totally object-oriented and extensible.
Follows XMLRPC protocol, for data exchange with the server. Plans to implement JSON-RPC.
Interface definition entirely in CSS.
Works in Mozilla Firefox (version 1.0+)(http://www.mozilla.org) and Internet Explorer (version 6+).
Cross-browser, cross-platform support (it inherits this characteristic from DynAPI).
Aimed to provide RAD development of browser-based applications and reuse of custom-made widgets.
Open source license (LGPL).
A.1.16. TIBCO General Interface (from 2001)
TIBCO General Interface (http://www.tibco.com/software/business_optimization/rich_internet_applications.jsp) is a mature Ajax RIA framework that's been powering applications since 2001. In fact, the framework is so mature, that TIBCO General Interface's visual development tools themselves run in the browser alongside the Ajax RIAs as you create them.
Dozens of extensible GUI components.
Vector-based charting package.
Support for SOAP communication (in addition to basic HTTP and XML).
Full visual development environment.
WYSIWYG GUI layouts.
Demo in Jon Udell's coverage at InfoWorld (http://weblog.infoworld.com/udell/2005/05/25.html).
The next version of the product and many sample applications at the developer community site (https://power.tibco.com/app/um/gi/newuser.jsp).
Commercial license by Tibco; more info at http://developer.tibco.com.
A.1.17. Interactive Website Framework (from May 2005)
Interactive Website Framework (http://sourceforge.net/projects/iwf/) is a project aiming to support the various aspects of Ajax infrastructure in the browser.
Has a thread-safe XMLHttpRequest implementation.
Contains a wrapper around the XML document, so you can make more readable code, instead of manual navigation:
var node = doc.groceries.frozen.pizza.size; var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
Open source license by Brock Weaver (http://circaware.com).
A.1.18. Zimbra AjaxTK
Full support of drag-and-drop in all widgets. Widgets include data list, wizard, button, text node, rich text editor, tree, menus, etc.
Build system uses Ant, and hosting is based on JSP and Tomcat.
Very strong client-side MVC architecture based; architect is ex-Javasoft lead developer.
Communications support for client-side SOAP, XmlHttpRequest, and IFrames.
Strong multibrowser capabilities: IE 5.5+, Firefox 1.0+, latest S.
High-quality widgets have commercial quality, since this is a commercial open source product.
Widget library is available as a separate build target set from the main product.
Debugging facility is built into the library and displays communications request and response.
Does not currently support keyboard commands in menus and in-place datasheet editing.
Does not support graceful degradation to IFrames if other transports are unavailable.
Documentation is lacking, but a PDF whitepaper describing widget set and drag-and-drop is available.
Open source license (Zimbra Ajax Public License ZAPL, derived from Mozilla Public License MPL) by Zimbra.