The official 1.0 launch of Adobe AIR final month attracted the eye of many software program builders. The AIR platform is designed to facilitate fast improvement of wealthy Web purposes (RIA) and supply programmers and designers with a easy glidepath between internet purposes and the desktop. We examined the Adobe AIR SDK to see if it lives as much as the hype.

There’s one thing within the AIR

The AIR runtime consists of the open-source WebKit HTML renderer, which is used to show internet content material in purposes. This makes it potential to construct whole AIR applications utilizing standards-based internet applied sciences and the identical strategies that one would use to construct a website. Builders may use AIR to deploy Adobe Flex applications, that are created with ActionScript and an XML-based consumer interface language.

The AIR runtime exposes native system performance to JavaScript by means of a easy and comparatively intuitive API. This consists of assist for primary window administration, creating native menus, configurable taskbar and tray icons, native filesystem entry, clipboard assist, sturdy drag-and-drop capabilities, and primary networking assist. The AIR runtime additionally consists of built-in assist for SQLite and a good JavaScript API for persistent storage.

Putting in the Adobe AIR runtime

Builders are restricted to the native system performance provided by the runtime, as a result of there isn’t any strategy to expose further native libraries or lengthen the runtime itself. This creates a really low ceiling for scalability and signifies that AIR is not at the moment meant for both computationally intensive or large-scale utility improvement. JavaFX Script and Silverlight have the upper floor right here as a result of each enable builders to make the most of the extraordinarily massive ecosystems of current Java and .NET libraries, respectively. Additionally, not like XULRunner—which might be modified and prolonged with native libraries for customized deployments—the AIR runtime is not designed to be embedded in or shipped with particular person purposes.

Lack of assist for current native code libraries is a weak point that Adobe hopes to treatment sooner or later. One notably cool instance of labor in that space is a proof-of-concept .NET bridge for AIR printed by Mike Chambers, Adobe’s principal product supervisor of AIR developer relations.

Along with JavaScript, the AIR runtime at the moment permits builders to make use of ActionScript libraries in HTML-based applications, however ActionScript is not as highly effective or widely-used as mainstream programming languages like C# or Java. Though ActionScript is not nice, model 3.0 supplies some good enhancements over common JavaScript. AS3’s object system provides a class-based inheritance mannequin that may be a step up in comparison with ECMAScript’s typical prototype-oriented object mannequin. It additionally provides assist for packages, namespaces, compile-time kind checking, and some different options that carry it nearer to parity with mainstream programming languages. The AIR runtime leverages Adobe’s ActionScript JIT (components of that are open supply) to offer much-improved runtime efficiency in comparison with common JavaScript.

See also  Conflicts | Memory Alpha | Fandom

AIR has a way more versatile safety mannequin than Flash and common internet browsers. You will not must cope with Flash’s cumbersome crossdomain.xml restrictions and you will not have to make use of workarounds like JSONP in JavaScript to retrieve knowledge from distant websites. It feels loads like the flexibleness you get if you run JavaScript in Firefox with chrome privileges.

HTML clearly supplies a really excessive stage of flexibility for consumer interface design, however does not lend itself effectively to consistency with the remainder of the desktop. Builders can create a particular appear and feel for his or her AIR purposes and can possible have a tendency to make use of internet interface idioms quite than typical desktop interface idioms. Flex provides its personal set of widgets for builders who require commonplace buttons, timber, and different comparable parts, however doesn’t broadly present entry to native Home windows type controls except menus.

The flexibility to make use of CSS for interface styling in HTML-based purposes is extraordinarily advantageous, however nonetheless imposes limitations. The model of WebKit included with the AIR runtime consists of assist for RGBA colours and border-radius, however does not assist some CSS3 options like box-shadow.

Industrial concerns

Adobe provides its personal industrial improvement instruments for Flex-based AIR improvement. Adobe’s Flex IDE, which we examined briefly, is constructed on prime of the open-source Eclipse IDE and consists of sturdy assist for drag-and-drop visible Flex utility design. AIR improvement instruments have additionally been integrated into Dreamweaver CS3. Adobe has fortuitously made its personal instruments completely elective, so AIR builders haven’t got to fret about getting locked into costly industrial design software program.

Adobe Flex Builder 3 design view

Adobe Flex Builder 3 supply view

AIR assist is already being built-in into third-party industrial improvement instruments comparable to Aptana Studio. AIR builders may use a standard textual content editor at the side of Adobe’s free command-line instruments. Flex and AIR improvement might be completed completely with commonplace textual content editors; the truth is, many of the applications we created throughout our exams had been written in Vim on Ubuntu Linux after which compiled and examined on Home windows in VMware.

See also  Adobe Photoshop Lightroom CC 6.8 Free Download

Though a few of the most vital underlying parts of the AIR runtime are open supply, there are sufficient proprietary parts to successfully forestall third-party implementation of a appropriate runtime. It is a critical weak point as a result of it’ll prohibit AIR adoption solely to the platforms formally supported by Adobe. Flash and AIR usually are not supported on 64-bit platforms, for example. By comparability, JavaFX and XULRunner are each fully open supply, and Microsoft has facilitated improvement of an alternate open-source Silverlight implementation with Mono. AIR applications that use Flex and Flash are clearly going to rely on Adobe’s runtime, which creates some lock-in threat. AIR purposes which are created primarily with HTML and JavaScript, nevertheless, pose just about no lock-in threat as a result of they are often deployed on prime of different typical HTML renderers with out a lot effort.

The principal benefits of AIR are portability and ease of deployment. AIR broadly makes it potential to make use of a single code base to create cross-platform purposes which are straightforward to put in. AIR is totally supported on Home windows and Mac OS X, and Linux assist is at the moment in closed beta. Ars has requested entry to the Linux beta, however has not but acquired a response.

Putting in an Adobe AIR utility

Adobe provides a easy command-line device that can be utilized to generated AIR app bundles. Adobe additionally has an AIR utility installer badge system that builders can plop onto their websites to simplify the set up course of and assist customers set up the runtime if mandatory. Deploying AIR purposes to particular person customers could not presumably be simpler, however there isn’t any current assist for enterprise deployment by means of the Home windows installer service.

PenguinSteve: a pattern AIR utility

For testing functions, we created one full pattern utility and packaged it for distribution. This system, a site-specific browser referred to as PenguinSteve, shows a penguin with an indication that hundreds messages from Clint Ecker’s website. When the consumer clicks the message, the penguin will show a brand new one. This system makes use of the jQuery JavaScript library to load the distant content material and place it in a fixed-position div aspect.

The PenguinSteve program does not use the usual chrome and as an alternative makes use of a formed window. That is completed by setting the window.htmlLoader.paintsDefaultBackground worth to false within the onload occasion. Within the accompanying utility.xml file, which is used to explain the essential properties of the appliance, the systemChrome worth needed to be set to none and the clear worth needed to be set to true. The penguin itself is only a PNG picture with alpha transparency that’s assigned to the background of a div aspect. The consumer can transfer this system by clicking and dragging the penguin. That function was applied by calling the nativeWindow.startMove technique within the onmousedown occasion for the div aspect.

See also  VSDC Export as MP4

The entire program makes use of solely about six strains of JavaScript. The remaining is simply HTML, CSS, and a picture. This type of improvement is trivially straightforward with AIR. These of you who want to bask within the epic glory of Clint’s questionable wit and my poor artwork abilities can obtain the 83KB installer for the PenguinSteve AIR utility. If you find yourself completed basking, you possibly can run the installer once more to uninstall this system. Sadly, bugs within the OS X model of the AIR runtime trigger PenguinSteve to render incorrectly on Leopard. This subject is documented within the AIR launch notes.


Our exams present that Adobe AIR is a comparatively promising answer for RIA improvement, but it surely has some limitations that make it much less versatile and scalable than options. These limitations might not be all that related in follow, nevertheless, as a result of AIR is greater than able to assembly the wants of its audience. Builders who try to stretch AIR past its core competencies will possible be upset with the outcomes, however there’s loads of demand for the type of purposes that match very neatly inside the scope of its capabilities: creating site-specific browsers and creating easy desktop interfaces to distant internet providers.

It appears possible that Adobe will overcome the present limitations in future variations. The corporate has said that it will definitely intends to make use of AIR applied sciences to carry its skilled graphic modifying software program to the net—a activity that may possible require Adobe to considerably increase the platform’s capabilities. In its present type, AIR is nice for builders who’re already working with Flash and Flex, but it surely does not present many tangible benefits over a Mozilla-based answer with Prism or XULRunner.

Leave a Reply

Your email address will not be published.