Channels ▼

Web Development

Adobe AIR: Desktop/Web Convergence

Web Technologies

Adobe AIR incorporates web technologies "as is." Many developers using early releases of Adobe AIR have created their first applications simply by taking existing web content—both HTML and SWF—and running it directly in Adobe AIR.

This approach, of course, is only a starting point. Adobe AIR provides new APIs for windowing, filesystem access, network detection, and more. Porting existing content to Adobe AIR is a starting point, but it's taking advantage of new features that will distinguish Adobe AIR applications from existing web applications.

Scripting. HTML, Flash, and PDF are all scriptable via ECMAScript. Of course, they don't call it by this name: HTML and PDF refer to it as "JavaScript," and Flash as "ActionScript." They are all, however, based on the same Standard.

Adobe AIR application developers do not need to pick just one of these technologies, but can combine them in a single application. Adobe AIR bridges scripting environments so that a script in HTML can use objects and APIs defined in Flash, and vice versa.

HTML and AJAX. Adobe AIR provides HTML and AJAX support via the open-source WebKit HTML engine. Although WebKit has obviously been modified to work within Adobe AIR, Adobe's goal is to make sure that HTML content rendered in Adobe AIR renders the same as it does in Safari (and other browsers) based on WebKit.

The display of HTML in Adobe AIR is integrated into the Flash display pipeline. This means that HTML content can be embedded in Flash content. Operations such as rotations, blurs, and so on can be applied to the rendered HTML content. Flash content can also be embedded in HTML inside Adobe AIR.

Flash and Flex. Adobe AIR contains a complete implementation of the Flash player—including the new open-source Tamarin scripting engine (—extended with Adobe AIR's new APIs. Significant portions of these new APIs and new functionality are themselves implemented in ActionScript.

Flex provides a framework with additional APIs and support for creating UI in MXML markup. Originally designed for the creation of RIAs running in the browser, Flex produces applications by compiling them to Flash (SWF) content. This content can run in Adobe AIR. Flex is also being extended with new framework features that take advantage of Adobe AIR's APIs.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.