![]() |
Site Archive (Complete) | |||
|
ABOUT US |
CONTACT |
ADVERTISE |
SUBSCRIBE |
SOURCE CODE |
CURRENT PRINT ISSUE |
NEWSLETTERS
|
RESOURCES
|
BLOGS
|
PODCASTS
|
CAREERS
|
||||
October 10, 2007
Adobe AIR: Desktop/Web ConvergenceStrike a new balance for developing desktop-based RIAsOliver Goldman
Adobe AIR is designed to enable the development of desktop applications using web technologies.
Oliver is a senior computer scientist at Adobe Systems on the Adobe AIR engineering team. He can be reached at goldman@ieee.org.
Over the last few years, web-based Rich Internet Applications (RIAs) have become increasingly sophisticated. They are leveraging technologies such as HTML, AJAX, Flash, and PDF to add depth and interactivity previously found only in desktop applications. At the same time, these technologies often allow for shorter development times than traditional desktop development environments such as C++.
Still, web-based RIAs are fundamentally limited by the browser security sandbox. They cannot access local filesystems and other devices (such as printers) except via a limited, user-mediated route. They cannot open new windows at will, or run without any windows open. They cannot run when offline. For all their richness, they still fall short of desktop applications in these capabilities.
These restrictions are not a bad thing. The browser security sandbox is essential to keeping the Web safe and, therefore, usable. For many web-based applications, the ease of obtaining the applicationsimply entering a URL in nearly any browsermore than makes up for the limitations. Desktop applications, on the other hand, do not have to operate with the same security restrictions because they require an installation ritual in which the user elects, by confirming the install, to grant greater access.
Adobe AIR, the code name for an Adobe project (labs.adobe.com/technologies/air) aimed at enabling the development of desktop applications using web technologies, aims to strike a new balance in this game by providing for the development of desktop-based RIAs. These applications can take advantage of filesystem access, windowing, offline storage, and other traditional desktop features, yet are built with the same technologies used for the Web today.
Adobe AIR consists of two pieces:
What Is a Desktop Application?
The "desktop applications" Adobe AIR is targeting are not defined merely by the presence of APIs to enable multiple window support or filesystem access. Adobe AIR targets applications that integrate tightly with the target operating system like traditional desktop applications written in C, C++, or Objective C. For example, Adobe AIR applications are launched from the start menu or dock, appear under their own name in the Activity Monitor or Task Manager, and have their own entry in the Windows Add/Remove Programs control panel (see the TimeTracker application in Figure 1 for an example of an Adobe AIR application).
[Click image to view at full size]
Figure 1: TimeTracker application created by gskinner.com
Adobe AIR is not targeting all desktop applications, however. Applications with extreme size, computational, or other demands are probably not well suited for implementations in web-based technologies or Adobe AIR.
|
|
||||||||||||||||||||||||||||
|
|