Home >
Adobe AIR applications can be built with Flex, Flash, or HTML / JavaScript, but an AIR application goes beyond these technologies. What sets an AIR application apart? AIR applications have access to so many native elements of the operating system including the local filesystem, the clipboard, the command line, and native data encryption. AIR also integrates local database functionality and service monitoring to create powerful online and offline applications. In addition, AIR applications can leverage a powerful update mechanism and browser-based installation. AIR applications also add an additional level of control to HTML content and PDF documents. This is what sets AIR applications apart form the technologies that are used to develop them. This is the AIR API.
One of the reasons that the AIR API is so powerful is that it is so easy to integrate. If you are familiar with JavaScript objects, you can easily work with the API. In Flex or Flash the AIR API can be integrated as easily as any of the core ActionScript classes. While the initial integration is easy, learning how to properly craft applications that uses this API can take some practice. This added power can lead to increased complexity, but if these techniques can be mastered, amazingly powerful applications can be developed.
Over the next weeks, I will be looking at many of the elements in the AIR API and discussing how you can implement them in your application. I will try and start with some of the most common classes in the AIR API. In the next post I will begin with a look at the native clipboard support inside of AIR using the Clipboard, ClipboardFormats, and ClipboardTransferMode classes.
As with the rest of this site, I would like for this series to be community driven. If there is a topic you would like to see covered, please leave a comment to request it.




Hey David! Glad to see you're heading this AIR API series. One thing I would like to get more info on is how to properly use asynchronous SQLite database calls. I'm used to the synchronous web calls to the database with Coldfusion and PHP... but now that we're dealing with deaktop apps it makes more sense to use asynchronous.. but it seems very confusing.
Certainly! I will add that one to the list.
Topic suggestion : Using the DragManager(s)
Flex drag manager / AIR drag manager
When to and how to use either or both in the same project. (Possibly in conjunction with sharing the same project source between Flex and AIR distributions)
Note: Issue of the disappearance of the Flex drag manager in Beta 3, and the fix (only currently available in internal Adobe Builds).
https://bugs.adobe.com/jira/browse/SDK-13983
And of course however this pans out by the time the topic is ready to be covered.
Thanks
Hello David.
I'm looking forward to reading more about the AIR APIs on your site as I'm currently learning Flex and AIR so some tutorials will definately come in handy :-)
However I wanted to ask you about smth you mentioned in your article, namely that AIR gives you access to the command line. As far as I know this is not in the current b3 version of Flex3/AIR and Adobe has indicated that this will not be in the release version of Flex3/AIR coming this quarter despite lots of calling for this from the community.
But I would love to be wrong on this so the question is, do you know smth about this that I don't ??? ;-)
I probably should have been a bit clearer on that one - AIR allows you to pass arguments to your application through the command line (which can be quite useful). You are correct in saying that an AIR application can't access the command line from within itself though.
More Information
Thanks, should have guessed that but succumbed momentarily to a little wishful thinking :-)
Has anyone tried to create AIR app that can communicate say with outlook?
@Neil - This has been a big issue with the AIR community currently. Many developers want to build applications that communicate with other non-AIR applications (such as Outlook). The problem with this is that it breaks the cross-compatibility between operating systems. For the moment, if you want to build an AIR application that integrates with another desktop application (that is not an AIR application), you will have to develop some sort of a CommandProxy - similar to the one developed by Mike Chambers. Ask Mike states, this itself can lead to security concerns.
I'd love to see the update mechanism demonstrated. That's a very enticing feature.
I will certainly cover the Update functionality. In the mean time, you can check out one of my previous articles:
Managing Adobe AIR updates with ColdFusion 8
I think one thing I like to see is best practices within AIR. There's quite a bit of documentation on how-to-do something and many ways to approach a problem, but making sure not to waste resources is not something usually covered.
Also David one example I haven't seen in an AIR application is how to use the tag... how exactly can someone make a custom user interface for the update dialogs? Maybe you can touch more on this when you discuss updating applications. Like is there some kind of API that allows us to show a progress bar for the update progress??
Yes,I like the list very much!