Kamis, 24 April 2008

Product review: Adobe breathes fresh AIR into RIA

AIR (Adobe Integrated Runtime) packages a host of Web technologies and enables RIAs (rich Internet applications) to run outside of the browser on the user's local desktop. Those underlying technologies can be Adobe's own Flex, Flash, and ActionScript, for example, or just plain old HTML, CSS, JavaScript, and AJAX libraries. The results can be spectacular. AIR applications can take on either a custom or native appearance. In particular, data-driven dashboards really sing when freed from browser constraints, as Nasdaq’s Market Replay application demonstrates.

[ See why Tom Yager is a big fan of AIR. And how InfoWorld used AIR technology in its Windows Sentinel service. See our special report on rich Web development tools including reviews of Microsoft Silverlight, Curl, WaveMaker Visual AJAX Studio, JackBe Presto, Nexaweb Enterprise, Backbase, Bindows, Tibco General Interface, and more open source AJAX toolkits than you can shake a div at. ]

The resulting application gains access to OS features such as dragging and dropping to and from the local file system, clipboard access for cutting and pasting between AIR and other applications, network connectivity, encrypted local storage, and perhaps most noteworthy, offline functionality. Thanks to AIR's persistent, local SQLite data store, AIR apps continue to function without a network connection.

Further, AIR doesn't require Web developers to learn anything new. They can easily create AIR apps using the tools and techniques they already know. And because AIR is cross-OS compatible, the same application code can be deployed to Windows, Mac, and eventually Linux systems. An alpha version of AIR for Linux is available at Adobe Labs.

Pieces of AIR
Adobe AIR comprises several components. The SDK is a command line toolkit for packaging and deploying Web applications as AIR apps. It includes a schema template for generating the AIR manifests (which define various properties of each application including name, security certificate, and files included within the package), APIs for the framework, a service monitor, and a command line debugger that lets you do some testing without first needing to package up your app. The entire lot is available for free, and several components are open sourced under the Mozilla Public License.

AIR incorporates dual engines – the Flash/ActionScript JIT and WebKit – to support applications built in either Flex/Flash/MXML or HTML/JavaScript. AJAX developers can run AIR without ever needing to learn ActionScript.

The underlying application components are packed into an AIR installer file, which is little more than a zip file containing program assets, the XML manifest, and a digital certificate to verify authenticity.

The command line tools are easy enough to work with, and you can use any text editor to create an AIR app. Adobe provides plug-ins for creating AIR applications in Flash CS3 and Dreamweaver CS3, as well as third-party tools such as Aptana Studio. However, I recommend you try Adobe's new commercial development tool, the Flex Builder 3.0 IDE. Based on Eclipse, Flex Builder provides easy graphical tools for laying out GUIs, binding to servers and data sources, and generating the underlying MXML code.

AIR apps can take advantage of protocols including FTP, AMF (ActionScript Messaging Format), JSON, SOAP, and RTMP (Real Time Messaging Protocol for streaming media), and they can communicate with Adobe LiveCycle and BlazeDS servers using server-side RPC and messaging calls.

James R. Borck is senior contributing editor of the InfoWorld Test Center.

Tidak ada komentar: