Rich Internet application (RIA) development didn't used to be a heavyweight competition. Just a few short years ago, when developers wanted to create a browser experience beyond the ordinary -- to incorporate sophisticated dashboards or jazzy special effects, for example -- they could draw from a handful of obscure and fledgling tools. The ingredients of AJAX were still coming together. Even the Flash-driven solutions from Macromedia and Laszlo Systems showed their youth.
Now that Flash is part of Adobe Systems, AJAX is omnipresent, and Microsoft and Sun have entered the game, RIA is as mainstream today as mainstream gets. At the lightweight end of the RIA spectrum, a number of open-source libraries have caught fire. Dojo, Ext, Google Web Toolkit, jQuery, MooTools, Prototype/Scriptaculous, and Yahoo User Interface are ideal for programmers who just need to add a bit of fancy functionality (a date chooser, a data grid, some form preprocessing, etc.) to a page.
[ InfoWorld, with the help of its readers, designs the ideal notebook. Here's a look inside the perfect laptop. ]
A step up from the open-source tools are commercial AJAX frameworks such as Backbase, Bindows, JackBe, and Tibco General Interface. But can these maintain their edge? With so many good open-source alternatives available, why spring for a so-called "enterprise AJAX" solution?
The reasons range from better technical support and documentation to more polish and flexibility. But it's becoming increasingly difficult to draw significant, categorical differences between the open-source and commercial tools.
As the open-source projects extend their reach, the commercial players are finding niches beyond AJAX. For instance, JackBe's offering has evolved into an "enterprise mashup" platform that ties together HTML, RSS, Web services, and SQL calls. Backbase also has zeroed in on the server side, plus has added support for offline RIAs and released a version of its AJAX framework for Java developers. Laszlo Systems, now the shepherd of a standout open-source RIA platform, focuses on Web 2.0 desktop solutions for businesses and service providers.
Other players have come at AJAX from the server side: Nexaweb Enterprise Web 2.0 Suite, which started as a Java-based framework for building client-server applications, today delivers back-end data to AJAX as well as Java clients. WaveMaker, which started life as a rapid Web application builder on LAMP (it was called ActiveGrid then), is today a rapid Web application builder on Java, allowing neophyte developers to build full-fledged J2EE applications with points and clicks.
The more sophisticated RIA solutions have cozied up to AJAX as well. RIA oldtimer Curl, which nabbed InfoWorld's 2008 Technology of the Year Award for Best Rich Internet Applications Platform (based on 2007's Version 5.0), improved interoperability with AJAX in 2008's Version 6.0. In addition to allowing a Curl applet to be embedded into an existing AJAX page, the new release added skinnable controls and graphics improvements such as anti-aliasing, partial transparency, and the ability to render rotated images.
Curl 6.0 is an industrial-strength RIA platform that brings high-quality graphics, sophisticated effects, easy customization, and excellent performance to Windows, Mac, and Linux clients. Curl has even added offline support through an extension called Nitro. No doubt Curl would draw more attention from developers if it weren't for juggernauts Adobe and Microsoft, and the speed at which their RIA platforms are evolving.
When Microsoft's Silverlight debuted in the fall of 2007, it was already backed by excellent development and design tools (in Visual Studio and Microsoft's Expressions Suite, respectively), and it already had a high-profile deployment in MLB.com. But performance -- at least for highly interactive applications -- was a concern. Silverlight 2, which arrived in the fall of 2008, completed the promise with full .Net support, a rich set of controls and networking APIs, and speed to burn. Microsoft also added the Beijing Olympics and Blockbuster to the flagship customer list, while examples of Silverlight applications become easier to find.
Adobe turned heads with a pair of big RIA releases in 2008. Flex Builder 3.0 rounded out the Eclipse-based toolkit (supporting graphical layout of rich, Flash-driven Web GUIs) with real-time charting, wizards for data binding and Web services, application profiling, and extensions for Adobe CS3 aimed at bridging the designer-developer gap. Adobe's bigger news, however, was the debut of AIR (Adobe Integrated Runtime), an SDK and runtime for packaging and deploying rich Web applications directly to the desktop with support for offline persistence. No browser required. The recent 1.5 release strengthened the case for business use with database encryption and other improvements.
As 2008 drew to a close, Sun released JavaFX, its long-awaited entrant in the RIA race. Back in August, the preview SDK wowed InfoWorld's reviewer with impressive data binding capabilities; a good collection of widgets for layout, animation, and input device listeners; and support for vector objects, transparency, and 2-D keyframe animations. Like Adobe and Microsoft, Sun is also working to close the loop between design and development with plug-ins for Adobe Illustrator and Photoshop. Look for the InfoWorld Test Center's review of JavaFX 1.0 in coming weeks.
If you're looking for some good news from the year 2008, you'll find it in the amazing range of RIA developments. Adobe leads the way with the Flex/AIR combo, and their integration with matchless tools for designers. Microsoft's Silverlight has come very far very fast, putting ASP.Net developers on a fast path to RIA. And Sun's JavaFX, with its Java-like syntax, gives Java developers a tool (and commercial backer) they can easily warm to. Developers with their eye on tomorrow's Web never had it so good.