Which is the best open source JavaScript framework? It depends, of course. The open source projects that began as an effort to smooth over the differences between browsers are now large and varied enough to make the act of choosing far from simple. In the past, the project teams were small and happy just to write code that runs in different browsers. Now, there are many different options that depend on your feelings about project group dynamics, modularity, and dozens of theories about the best way, whatever you happen to believe that way to be.
Some decisions will depend upon the scope of the project. The best choice for adding a few fancy AJAX widgets to a site is often quite different from the best choice for building a full-fledged AJAX Web application. Other decisions may be matters of taste. The best library for an ex-Java programmer may differ from, say, one for a Perl hacker.
The good news is that there are now more libraries than any sane person can even consider in a lifetime. While we concentrate on the more established kits -- Dojo, Ext, Google Web Toolkit, jQuery, MooTools, Prototype and Scriptaculous, and Yahoo User Interface Library -- there are literally hundreds more that are flourishing. Some are big names that people will feel we were mistaken to exclude, but most live in small niches, such as providing slideshows for pictures downloaded from Flickr. Some are independent, but many of the most popular libraries hold entire constellations of semi-independent projects that use the core library. And there's plenty of cross-fertilization. A good idea or piece of code from one group is often adopted by others.
[ View our brief screencast tours of Dojo Toolkit, Ext, Google Web Toolkit, jQuery, MooTools, Prototype and Scriptaculous, and Yahoo User Interface ]
Many of the open source libraries are best for programmers who need to add a bit of AJAX functionality to a Web page. If you want to add a color chooser, a date chooser, and a touch of form preprocessing to a page, then many open source libraries are great for the job. They are usually collections of tools in different states of development. The library managers have smoothed over any differences and applied a common philosophy to much of the code. You get a unified approach that has been tested in a number of the major browsers.
The toolkits aren't as useful if you're thinking of building an entire Web application that lives in the browser. If you're considering rebuilding a full, multiframe client application in pure JavaScript to simplify distribution and installation, many of these libraries aren't designed to handle that task. The more commercial frameworks, including JackBe, Backbase, Bindows, and Tibco's General Interface, are heftier packages from commercial companies that aim to make it simple to write full applications that happen to live in a browser.
[ See "Refining the art of enterprise Web apps" for our review of JackBe Presto and Nexaweb Enterprise Web 2.0 Suite; see also "Top AJAX tools deliver rich GUI goodness" for reviews of Backbase, Bindows, JackBe NQ Suite, and Tibco General Interface. ]
It should be noted that several of these commercial packages now come with many of the advantages of open source packages. They have better documentation than almost all of the open source packages and frequently come with real training engineers and full-time support personnel. You also often get full access to the source code, in part because it's kind of hard to hide JavaScript. And in some cases, you can get the source code under a traditional open source license. Tibco's General Interface, for instance, is available under the BSD license, a very generous option.
Peter Wayner is contributing editor of the InfoWorld Test Center.
Talkback
E-mail
Printer Friendly
Reprints



