Review: 4 rich Internet applications that double as desktop apps

RIAs can make Web browsers as responsive as desktop applications. We look at four technologies that cross the online gap.

Finding a single development environment for all purposes has so far proven an unattainable goal. But with the advent of rich Internet applications (RIA), development nirvana gets a bit closer.

RIAs are enhanced Web applications that have additional functionality on the client, which makes them more responsive to the user than standard HTML pages -- and in some cases as responsive as desktop applications. RIA technologies include AJAX, which is a combination of JavaScript, dynamic HTML and an asynchronous server request interface; Flash, a widely available plug-in technology from Adobe often used by designers; Flex, a variation on Flash more suited to programmers; Silverlight, a relatively new plug-in technology from Microsoft that includes a subset of the .Net Framework; and Curl, an object-oriented language with embedded HTML markup.

In the past year or so, a number of cross-platform RIA technologies have been released that can double as desktop application technologies. I'll discuss four technologies that accomplish this trick: Adobe Air, Curl Nitro, Google Gears and Microsoft Silverlight. I installed them all, explored them and used them for several months in the course of my work.

Adobe Air

Adobe Air is the cross-platform desktop extension to Adobe Flash and Flex. It supports programming in JavaScript with HTML markup in an AJAX model, as well as Flash and Flex programming in ActionScript, a superset of JavaScript. (There is a learning curve if you want to use the extended features of ActionScript. It's supposed to be compatible with most existing JavaScript apps, but your mileage may vary.) The standard Adobe tools for Flash and Flex -- Adobe Flash CS4 Professional, Adobe Flex Builder 3 and the Flex 3 SDK -- can be used for Air development as long as you update to the current versions or download and install the Air update for old versions. Air development is also supported by Aptana Studio.

Air adds a number of desktop-specific classes and components to Adobe's base Flash and Flex classes. Air 1.5 applications can update themselves, interact with the system clipboard, use the file system, use native windows and menus, use a local SQL database and store encrypted data. Air also supplies a number of capabilities to the desktop environment for which Flash and Flex applications normally rely on the browser -- for example, HTML rendering, HTTP handling and network detection.

Publicly available Adobe Air applications at the Air Showcase range from simple desktop widgets to full-blown applications. Air is supported for development and runtime on Windows, Mac OS X and Linux.

Air is most useful in the hands of experienced Flash, Flex and AJAX designers and developers. When I talk to them at conferences or discuss it with them online, these people generally report that Air development is an easy increment from what they already know, and they often produce gorgeous applications with few downsides in a relatively short time. The most serious problem with Air applications is that the interpreted ActionScript and JavaScript languages are slow compared to native code, which means that CPU-intensive applications are not good candidates for implementation in Air.

I am more of a Flex and AJAX developer than a Flash designer. I found the Air extensions to Flex fairly straightforward to learn and use from Flex Builder, although I would have been happier if the Air documentation were included in the Flex Builder help file instead of only being available online.

Air runtime, Air SDK, Flex 3 SDK and Aptana Studio are free. Pricing for Aptana Studio Pro is $199, $699 for Adobe Flash CS4 Professional, $249 for Adobe Flex Builder 3 Standard, $699 for Adobe Flex Builder 3 Professional and $399 for Adobe Dreamweaver CS4.

1 2 3 Page 1
7 Wi-Fi vulnerabilities beyond weak passwords
Shop Tech Products at Amazon