Adobe AIR is a cross-platform desktop runtime created by Adobe that allows web developers to use web technologies to build and deploy Rich Internet Applications (RIAs) and web applications to the desktop.
To better understand what Adobe AIR enables, and which problems it tries to address, it is useful to first take a look at the (relatively short) history of web applications.
Over the past couple of years, there has been an accelerating trend of applications moving from the desktop to the web browser. This has been driven by a number of factors, which include:
Growth of the Internet as a communication medium
Relative ease of deployment of web applications
Ability to target multiple operating systems via the browser
Maturity of higher-level client technologies, such as the browser and the Flash Player runtime
Early web applications were built primarily with HTML and JavaScript, which, for the most part, relied heavily on client/server interactions and page refreshes. This page refresh model was consistent with the document-based metaphor for which the browser was originally designed, but provided a relatively poor user experience when displaying applications.
With the maturation of the Flash Player runtime, however, and more recently with Ajax-type functionality in the browser, it became possible for developers to begin to break away from page-based application flows. Developers began to offer richer application experiences via the browser. In a whitepaper from March 2002, Macromedia coined the term rich Internet application to describe these new types of applications in browsers, which "blend content, application logic and communications ... to make the Internet more usable and enjoyable." These applications provided richer, more desktop-like experiences, while still retaining the core cross-platform nature of the Web:
Internet applications are all about reach. The promise of the web is one of content and applications anywhere, regardless of the platform or device. Rich clients must embrace and support all popular desktop operating systems, as well as the broadest range of emerging device platforms such as smart phones, PDAs, set-top boxes, game consoles, and Internet appliances.
NOTE
You can find the complete whitepaper and more information on RIAs
at http://download.macromedia.com/pub/flash/whitepapers/richclient.pdf.
The paper goes on to list some features that define RIAs:
Provide an efficient, high-performance runtime for executing code, content, and communications
Integrate content, communications, and application interfaces into a common environment
Provide powerful and extensible object models for interactivity
Enable rapid application development through components and reuse
Enable the use of web and data services provided by application servers
Embrace connected and disconnected clients
This movement toward providing richer, more desktop-like application experiences in the browser (enabled by the Flash Player runtime, and more recently by Ajax) has led to an explosion of web applications.
Today, the web has firmly established itself as an application deployment platform that offers benefits to both developers and end-users. Some of these benefits include the ability to:
Target multiple platforms and operating systems
Develop with relatively high-level programming and layout languages
Allow end-users to access their applications and data from virtually any Internet-connected computer
Easily push application updates to users
The growth of web applications can be seen in both the Web 2.0 trend, which consists almost entirely of web-based applications and APIs, and the adoption of web applications as a core business model by major companies and organizations.