The Test Center guide to rich Web app dev tools

Frameworks for rich Internet applications can be lightweight or heavyweight, open or closed, and almost anything in between

Rich Internet applications, or RIAs, comprise a spectrum of application types and technologies. The lightweight end of the spectrum has seen most of the attention in recent months, with Microsoft's Silverlight and Adobe's AIR (Application Integrated Runtime) getting attention as the new kids in town. But AJAX (Asynchronous JavaScript and XML) is still where most of the lightweight action resides. And despite the recent focus on lightweight app dev, significant developer focus remains on the heavyweight tools in the Microsoft .Net and Sun Java worlds.

AJAXanchors the lightweight end
The lightweight tools are anchored by AJAX or Web 2.0 applications, which add richness and responsiveness to standard Web sites with asynchronous JavaScript libraries: that's the "AJA" part of "AJAX." The "X" stands for "XML," but these days XML is not the only data format used by such libraries; it's also common to see asynchronous data exchange in JSON, HTML, and plain text formats.

[ InfoWorld's Tom Yager and Galen Gruman think Adobe AIR is really cool and useful. But Martin Heller isn't so sure. See who you agree with. ]

AJAX is powered by several technologies. One key piece is Dynamic HTML, a browser feature that allows JavaScript libraries to manipulate the contents of a page on the client, even after it has been initially displayed. Another key piece is XMLHttpRequest, which is a lightweight back channel to the server that JavaScript can call from the client.

AJAX is used to extend a wide variety of Web server application technologies. You can, of course, use it to enhance otherwise static HTML pages with data-driven content, but it's more customary to couple AJAX on the client with scripted Web servers. Ruby on Rails makes adding AJAX features especially easy. Microsoft ASP.Net AJAX, as the name implies, enhances ASP.Net sites with AJAX features, and includes Visual Studio integration; the Microsoft AJAX Library can also be used with other types of sites. Integrating AJAX libraries with Java/JSEE sites can be done manually with some effort, but tools and libraries such as the Google Web Toolkit, Tibco General Interface, and ThinkCAP JX make it much simpler.

.Net and Java on the heavyweight end
The heavyweight end of the RIA spectrum is shared by .Net Smart Client applications and Java Applets deployed over the Web. In both cases, the client computer needs to have a fairly large (more than 10MB) runtime engine installed before it can meaningfully download the RIA.

The middle of the RIA spectrum is occupied by runtime engines, development tools, and libraries that do more on the client than simple AJAX, and do it more quickly, but don't have the overhead of the .Net Framework or the Java JRE. Adobe Flash, Flex, and Shockwave are midsized RIA engines. Curl falls in this category, as does OpenLaszlo, although OpenLaszlo can generate both AJAX and Flash applications.

Several technologies are under development in the midrange. Microsoft Silverlight 1.0 incorporates a subset of the .Net Framework and supports JavaScript; the forthcoming Microsoft Silverlight 2.0 incorporates a larger subset of the .Net Framework and supports JIT-compiled C#, Visual Basic .Net, IronPython, and (eventually) IronRuby as well.

Adobe Flex 3.0 promises much faster runtimes than Flex 2.0, and Adobe AIR pledges a cross-operating system runtime that allows developers to use their existing Web development skills to build and deploy rich Internet applications to the desktop. Meanwhile, Google Gears gives you a LocalServer, a Database, and a WorkerPool so that you can make Web applications run on the desktop.

Hands-on reviews of the rich Web toolkits
InfoWorld has reviewed a number of RIA toolkits and frameworks, including open source AJAX packages Dojo, Ext, Google Web Toolkit, JQuery, MooTools, Prototype, Scriptalicious and Yahoo User Interface Library; enterprise AJAX tools JackBe Presto and Nexaweb Enterprise, as well as Backbase, Bindows, and Tibco General Interface; Microsoft Silverlight 1.0; Adobe Flex 2.0; and Curl 6.0. Many of these reviews include links to recorded screencast demos that show just what the tools can do.

Recommended
Join the discussion
Be the first to comment on this article. Our Commenting Policies