InfoQ

News

Adobe Air: Two Months Later

Posted by Jon Rose and Scott Delap on Aug 06, 2007 09:04 PM

Community
Java
Topics
Rich Internet Apps,
Rich Client / Desktop
Tags
Apollo
In June, Adobe officially gave their Apollo development project the name Adobe AIR (Adobe® Integrated Runtime) and released a new beta. AIR is a cross-operating system application runtime that allows developers to use HTML/CSS, Ajax, Flash, and Flex to create RIA applications that can be deployed via the web, but run in both online and offline modes on a user's desktop. Among the new features in the beta:
  • Support for PDF
  • Improved runtime and application install experience
  • Embedded local database (using SQLite)
  • Drag'n'drop and clipboard support
  • Numerous HTML support and hosting API improvements, including support for transparent HTML windows
  • Server/service connectivity API
  • Native file pickers/browsers
  • Basic runtime update support
  • Security model improvements, including Doors API for communicating between high and low privilege Flash content

Adobe continues to court the Open Source developer community with significant parts of the runtime coming from Open Source projects. The Web2.0 Journal relays Adobe's breakdown of the major Open Source runtime components below:

Adobe described the open source AIR as including a WebKit HTML engine, an ActionScript Virtual Machine (the Tamarin Project) and an SQLite local database with full text search same as Google Gears is using - and the two should have a common API soon enough.
An overview of the components:
    WebKit HTML engine: WebKit is the web browser engine.

    Adobe's provided a handful of reasons in their FAQ for choosing WebKit over other options like the Gecko engine.

  • Open project that we could contribute to
  • Proven technology, that web developers and end users are familiar with
  • Minimum effect on Adobe AIR runtime size
  • Proven ability to run on mobile devices
    The Tamarin Project: ActionScript Virtual Machine

    The Tamarin is a joint effort between Adobe and the Mozilla Foundation to build an Open Source implemenation of the ECMAScript 4th edition (ES4) language specification.

    The project home page articulates their main goal:

    Adobe and Mozilla hope to accelerate the adoption of a standard language for creating engaging Web applications.
  • SQLite: Embedded SQL Database
    SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.

Adobe AIR has created a lot of buzz in the industry. Here is some of what is being said...

Jesse James Garrett, who coined the term "Ajax", had favorable comments in a Wired article about AIR:

...I think that Ajax developers have kind of been running up against the constraint of the browser for a while now," says Garrett. "There's a lot of code from your browser application that you'd have to throw out for the offline portion of your app ... The advantage of AIR is the re-usability of that code outside the browser...

Others, such as Jesse Warden, are not so positive however:

...I am not interested in developing for AIR, Adobe Integrated Runtime. While the features sound compelling, they do not offer me anything I need in my day to day development for clients. I do not believe the market, currently, has a supporting model for those types of applications in a compelling way. AIR additionally does not offer anything new beyond it being a Flash projector wrapper with Adobe's name behind it...
Adobe's Ryan Steward counters Warden's position however, saying:

Adobe AIR is clearly a technology that a lot of people see differently. I think most of that is due to the fact that this is a very new type of technology... The great thing about AIR in my mind is that it gives developers a very "webby/browser" experience on the desktop. That includes the obvious benefit of being able to write in web technlogies (Flash, Flex, JavaScript, HTML) but it's more than that. AIR applications have a quick, easy install experience that is closer to the browser's zero install. It runs cross platform just like the web browser.
Ryan does acknowledge that AIR is still in the early stages and will have to evolve.
...No, you can't use plugins or access native code/applications. That sucks and it's a problem for some developers. But AIR is a 1.0 product and the cross platform aspect is important to us. No, AIR doesn't do windowed hardware acceleration (it does it for video in full screen mode), but again, it's a 1.0 product and we don't have time to put everything in.
InfoQ will continue to monitor the traction gained by Adobe AIR and similar technologies, like Google Gears, in the months to come.

1 comment

Reply

qwqw by berkay NiQuiL Posted Jun 30, 2008 12:12 PM
  1. Back to top

    qwqw

    Jun 30, 2008 12:12 PM by berkay NiQuiL

Exclusive Content

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.

Security (CAS and OpenID) with Ruby

In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).