InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Adobe Air: Two Months Later

Posted by Jon Rose and Scott Delap on Aug 06, 2007

Sections
Development
Topics
Java ,
Rich Client / Desktop ,
Rich Internet Apps
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.

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.