MECHENG401:Research Adobe AIR
Disclaimer: A lot of this material has been taken verbatim from other sources. See resources section.
What we need: A framework that supports local caching of important data, and the ability to merge changed data (or new data) into the main data source. The process used to do this must be user friendly and mistake tolerant.
Adobe Air
Adobe AIR => Adobe Integrated Runtime
Introduction
Adobe Air v1.0 released 25 Feb, 2008.
Adobe AIR allows applications to be built using Flash, Flex, and HTML/JavaScript or a combination of both.
It's main aim is to allow those with skills in developing online web-based systems to use their skills in a desktop environment.
This is to increase the productivity of web developers, and the scope of the applications they can create.
Flash based applications will be able to include HTML based content and HTML based applications can contain Flash based content.
In addition, Adobe AIR applications can integrate closely with PDF documents.
General
What are the supported operating systems for Adobe AIR?
Adobe AIR Beta 3 supports: Windows 2000 SP4, Windows XP SP2, and Windows Vista Home and Ultimate Edition
Mac OS 10.4.7 and above (Intel and PowerPC). Adobe AIR Beta 3 adds support for Mac OS X Leopard.
To use an AIR application, the users system must have the AIR environment installed. This is a ~9MB download. The presence of AIR on a system can be automatically detected by an application and trigger the download and installation.
Minimum system specs are ~1GHZ processor and 512MB RAM. Recommended is ~2GHZ and 512RAM with a 32MB video card (for video playback)
AIR allows web apps to be run on the desktop by themselves -> not inside a browser. This has strong implications for security, as the application is not bound by the sandbox model of a web page. This means that 'injection attacks' where client generated code is executed in the web app could now affect the whole file system, not just the resources available to the webpage. A new 'sandbox' model has been made for AIR. This separates the execution of generated code (such as javascript) from the execution of AIR system calls. This may have implications on the functionality we are able to provide.
More details are available here and here
Pros
Is Adobe AIR free (as in beer)?
Yes. Adobe AIR will be free (similar to Flash Player and Adobe Reader).
Is the Adobe AIR SDK free (as in beer)?
Yes. The Adobe AIR SDK will be free for developers to download and use (similar to the Flex SDK).
AIR applications can operate offline, and then activate further functionality or upload data when an active internet connection becomes available. One example is eBay Desktop, which allows sellers to complete a listing offline and then upload it to eBay when they are connected to the internet.
When good old XMLHttpRequest gets data returned, it can save directly to the user's file system, or even store that data in a local relational database.
What sets Adobe AIR apart from Google Gears or other competitors?
Ryan: Google gears is a browser plugin that lets you take web apps offline. Adobe AIR is more about taking those web apps and giving you the option to totally remove the browser. Once you do that, you get access to the local file system,you can pop up notifications and create custom window chrome so your application looks the way you want it to. Google Gears is great for pure web apps, but Adobe AIR really tries to make desktop applications accessible to web developers.
What type of services or assists can Adobe AIR applications connect to?
Ryan: Adobe AIR can connect to anything on the web. It fully supports HTTP Services and Web Services. But because it's a desktop runtime you can also store and access things on the user's hard drive. Finally, we've included a SQLite with Adobe AIR so that you can create a local database on the users machine and access it like you would any other database.
(from an interview - see resources)
Cons
Will Adobe AIR applications be able to communicate directly with databases?
Adobe AIR 1.0 will not have built-in support for communicating directly with databases. However, it will be possible to write database drivers in ActionScript (leveraging binary or XML sockets), which would allow Adobe AIR applications to communicate directly with a database (both local and remote).
Will Adobe AIR include an embedded database that applications can access?
Yes. The Adobe AIR beta includes the SQLite embedded database for use by Adobe AIR applications.
Does Adobe AIR support Linux?
Adobe AIR 1.0 will not be available on Linux. We plan to release Linux support shortly after the 1.0. release.
Conclusion
- AIR can provide us with a framework to provide user transparent on-line/off-line operation.
- AIR has limited built-in support for communicating with databases.
- Using AIR will mean that a different tool needs to be used to support the merging of on-line/off-line data
- AIR will require web development skills rather than Java skills.
- The web based interface will provide a lot of scope for scalability in future
Resources
http://labs.adobe.com/wiki/index.php/AIR:Developer_FAQ
http://www.adobe.com/devnet/air/ajax/articles/air_ajax_developers_02.html
http://www.downloadsquad.com/2007/07/09/interview-with-adobe-air-evangelist-ryan-stewart/ 18/04/2008