Proprietary AJAX toolkits: The coin's other side

31.07.2006
I've looked at a number of proprietary AJAX frameworks during the past year with a mixture of surprise and admiration. It may be a measure of how much I'm mired in the past, but I'm still amazed when a complete client application runs in a browser. Yet, that's what some of the proprietary toolkits have been offering for more than a year.

There are some major differences between the proprietary and open source toolkits, and whether these differences matter to you will likely be based on your level of app dev expertise and available resources -- both time and money.

First, the professional AJAX tools often come with built-in, drag-and-drop development environments. Tibco's General Interface (http://www.infoworld.com/3552) and JackBe (http://www.infoworld.com/3234), for example, include complete IDEs that run in the browser.

The open source tools don't have anything this polished, but they can come close -- Microsoft Atlas is designed to be integrated with its IDE, and Google's Java-to-JavaScript tool effectively lives in Java IDEs like Eclipse.

Integrated data formats unify the proprietary toolkits. Backbase (http://www.infoworld.com/3208) stores all of its layout and event passing information in its own XML format; JackBe uses JavaScript to store data. The open source toolkits have some amount of unification, but they are often more open and cacophonous. True cohesion isn't common except perhaps in the case of Google; its format is fairly inscrutible because it was translated from Java.

The proprietary toolkits also come with sophisticated debuggers. Backbase, for instance, has a built-in debugger that launches right from the user's Web site when you click on a tiny icon. It's bundled with the distribution during testing and is stripped out later.

Debugging the open source AJAX toolkits is not as fancy. Dojo and Yahoo can log messages to a console, whereas Google has a complete environment that runs on your local development machine.

If you have a niche application, though, the proprietary toolkits can be your savior. IceSoft and Nexaweb (http://www.infoworld.com/2257) offer rich client tools that allow you embed a Web-savvy component in your client software. This inverts the AJAX paradigm and allows you to leverage all of your knowledge of HTML and JavaScript to build your client application. Kapow (http://www.infoworld.com/article/06/03/30/76786_14TCkapow_1.html) also offers a sophisticated screenscraper with an embedded JavaScript engine.

It's possible to do some of the same things with the various open source tools, but it will take more work -- a number of developers are using JavaScript interpreters to offer scripting, for example.