AJAX In Action [301]
Stephen W. Coate (2003)
Source available, protected by copyright
www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html LibXMLHttpRequest is a thin wrapper around XMLHttpRequest.
Mochikit
Open source (MIT)
www.mochikit.com/
Mochikit is a set of libraries whose highlights include logging, visual effects, asynchronous task management, string and date/time formatting, and a “painless”
DOM manipulation API that makes heavy use of JavaScript’s built-in Array objects and JSON-like notation to represent the DOM.
netWindows
Open source
www.netwindows.org
Complete DHTML desktop/windowing environment inside the browser. Code is purely standards-based, with no browser hacks. Contains a “signals and slots”
messaging implementation, modeled after Trolltech’s Qt widgets and the Smalltalk language; also available as a standalone library. Oddpost
Commercial
www.oddpost.com
JavaScript widget suite; includes fully functional rich e-mail client. Now part of Yahoo!.
Licensed to jonathan zheng Ajax frameworks and libraries 629 OpenRico Bill Scott, Darren James (2005) Open source http://openrico.org A multipurpose framework with support for Ajax. Covers user interface issues such as animations, separation of content from logic through behaviors, drag and drop, and some prebuilt widgets, notably a data grid. Sponsored by Sabre Airline Solutions; has seen real-world use. Built on top of Prototype. Pragmatic Objects Open source http://pragmaticobjects.com/products.html Pragmatic Objects’ WebControls is a set of JSP tag libraries designed as reusable controls or components to enrich Java-based web applications. As opposed to rich but fat web applications, a thin client web application, at the end of the day, consists of nothing but a series of HTML pages, containing JavaScript and CSS codes that are rendered by the browsers. Current offerings consist of an “outlook bar,” a tree widget, and a control panel. Prototype Sam Stephenson (2004) Open source http://prototype.conio.net/ Prototype is a JavaScript framework designed for RIA development. It includes a solid Ajax library and a toolkit to simplify use. Prototype is the JavaScript engine for Ruby on Rails, Rico, and Scriptaculous, among others. Prototype’s JavaScript code is generated from Ruby, but the generated JavaScript may be deployed in non-Ruby environments. Qooxdoo Open source (LGPL) http://qooxdoo.sourceforge.net This is an Ajax user interface library with a large range of prebuilt components and a well-thought-out design. Includes widgets, layout managers, and portable PNG transparency. Also provides development support such as timers for profiling and debugger support. Licensed to jonathan zheng 630 APPENDIX C Ajax frameworks and libraries RSLite Brent Ashley (pre-2000) www.ashleyit.com/rs/main.htm A simple component released as part of Brent Ashley’s more comprehensive Remote Scripting work (see the JSRS entry earlier in this appendix). Ruby on Rails David Heinemeier Hansson (2004) Open source (MIT) www.rubyonrails.org Ruby on Rails is a general web framework with strong Ajax support. Rails was still in its early days when the Ajax hype began, so Ajax may become increasingly core to the Rails framework. Generates most if not all of the JavaScript for widgets and animation in the browser. Support for calling server-side. Scheduling support. Current darling of the fashionable web development crowd, Ruby on Rails eschews the complex overdesigned, cover-all-bases strategy in favor of a straightforward, getting-the-job-done approach, with the help of a good deal of code generation. Has won over many Java developers for that reason. Our interest in Ruby on Rails for the purposes of this book is primarily its very good support for Ajax. Prototype, and most recently Scriptaculous, have been integrated into Rails. Sack Open source (modified MIT/X11) http://twilightuniverse.com/2005/05/sack-of-ajax Sack is a thin wrapper around XMLHttpRequest. The caller can specify a callback