Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Web Development

Adobe AIR: Desktop/Web Convergence


Network and Communication Support

Adobe AIR provides basic HTTP support courtesy of Flash, HTML, and PDF and binary client sockets as introduced in Flash 9. Adobe AIR also extends the Flash LocalConnection API to permit communication not only between Adobe AIR applications but also between Adobe AIR applications and Flash content executing in the browser. As with LocalConnection today, applications must opt-in to receive messages from other sources.

These features are designed to allow the creation of web applications and desktop applications that work together, rather than compete. For example, a company may offer both a web-based and Adobe AIR-based version of its interface to perform banking tasks. As a customer, you might use the desktop application at home, but the web-based application from a kiosk. A single click can take users from one to the other.

Security

Just like traditional desktop applications, an Adobe AIR application can perform operations that are dangerous. The file API permits an application to read, write, and delete files and, in combination with the network APIs, a malicious application could render substantial harm.

Adobe AIR mitigates this risk by providing a comprehensive privilege-based security model. Capabilities that are either inherently risky or that can be risky when combined with other capabilities can only be executed by an application that has been granted the necessary privilege.

This model is not simple and is not a first line of defense for typical users. Typical users should, as with all desktop applications, be careful about which applications they choose to install because installation conveys trust. (Adobe AIR uses signed deployment packages to help users make good decisions about which applications to trust.)

For enterprise administrators—and indeed, anyone who acts as an administrator, even if only for a single machine—the privilege model can be used to reduce the risks of running Adobe AIR applications. This feature is not intended to let you run applications that you don't trust in a protective "sandbox"; if you don't trust an application, you shouldn't install it. It is intended to provide an additional measure of assurance that an application you trust not to do certain things is, in fact, not doing those things.

Enterprise Support

Adobe AIR is targeted at both consumer and enterprise applications. In the enterprise, Adobe AIR will offer the same advantages of rapid development that the use of web technologies will bring to Adobe AIR applications.

Another advantage comes from Adobe AIR's security architecture that lets enterprises run Adobe AIR applications with the additional insurance that these trusted applications nonetheless cannot step outside their administrator-prescribed sandbox.

Other features are designed to be enterprise friendly, too. For example, enterprises often use native installation technologies to manage installations across a large number of machines. Adobe will provide a free tool that administrators can use to convert Adobe AIR deployment packages into native installation packages (MSI files). These MSI files can then be deployed using existing infrastructures, such as Microsoft SMS or IBM Tivoli.

Conclusion

Adobe AIR will provide a cross-platform runtime environment that will enable the development of desktop applications using web technologies. We believe this will enable the melding of great web experiences with the advantages of true desktop applications, both for developers and for users.


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.