Surveying open-source AJAX toolkits

Microsoft Atlas

The software world is often divided into two groups: Microsoft and everyone else. This is almost accurate when it comes to JavaScript and AJAX. Microsoft helped legitimize the space by creating some highly sophisticated AJAX features, and it continues to innovate with Atlas.

The Microsoft Atlas library may be free, but getting the package is not simple for people who aren't using Microsoft's Visual Studio. Microsoft is much happier if you download hundreds of megabytes of development tools before installing the Atlas JavaScript libraries that handle the bulk of the work. You can't really get at the .js libraries without jumping through the hoops -- I got no where with my Mac.

The libraries themselves are a bit less demanding. They offer good cross-browser support for Firefox and Safari users, something that may surprise Microsoft haters. But there are limits to even this commitment: I saw the phrase "Due to a known issue with Atlas on Safari" several times in the documentation, and there were similar notes for Firefox users.

These notes, however, concerned relatively minor details such as whether a popup box vanished when someone clicked outside it. The very fact that the notes are there is more of a testament to Microsoft's commitment than an indication of its failures.

Atlas' collection of widgets is a bit sparse, at least compared with the other offerings; there are no big editors and only a few animation tools. Much of the work is instead devoted to integrating the AJAX with the server, in this case the .Net Web services. The documentation and the examples in these cases are excellent.

There are a number of mechanisms for taking information from the database and formatting it at the client. All of them rely heavily on C# on the server, and all of them integrate well with the JavaScript on the client.

The code is clearly meant more as an extension of the .Net platform, not a tool for doing slick things on the client. If you're heavily invested in .Net and you want to leverage the system's Web service infrastructure, Atlas is a good way to add some life to your Web pages by consuming services there.

Yahoo AJAX Library

Yahoo's AJAX library is not only a solid collection of functions but also a good illustration of how to publish open source software. The code for adding a core group of widgets to your Web application comes in a zip file, and Yahoo offers a wide variety of examples and design suggestions. Many of the routines come with six to 10 different examples, all with sample code and demonstration pages.

This approach is markedly different from the other packages because Yahoo is just as intent on pushing a clear design philosophy as it is on delivering a piece of code. This tactic is more important than it may seem because the general user still needs a great deal of education about how AJAX applications behave. The designers at Yahoo want to push a stable, consistent behaviour for the AJAX widgets, and their very complete documentation encourages this.

The collection of features in the Yahoo library is solid, but not as large as Dojo's. It has many of the standard tools, such as an animation library and a tree collection, but there are few of the larger, more substantial tools such as an editor or a live table.

Yahoo does add some nice touches. The animation library, for instance, also interacts with some standard tools, such as a text scroll device that allows you to automate the behaviour of some part of the HTML -- say, a box filled with text. The Connection manager will automatically assemble all of the data from a form and put it into the right format for a GET or POST application.

Despite the lack of an editor, these interactions give Yahoo's library a smoother feel, compared with the rough-and-tumble state of Open Rico or Zimbra. Whenever you dive into the code with Yahoo's toolkit, you usually come away feeling that the company has spent a bit more time optimizing the functions and adding some real depth to the libraries.

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

More about ApacheCreativeEvolveGoogleIBM AustraliaMicrosoftMozillaSpeedTibcoYahooZimbra

Show Comments
[]