When most people think about Adobe AIR, they think about Rich Internet Applications outside of the browser. And of course they are correct.
In this post I want to highlight another use case I’ve been seeing lately: utility apps built using AIR. I’ll give you just two examples:
- Adobe AIR Launchpad. This AIR app helps you to create the project structure of an AIR application for Flash Builder. It provides a nice UI for setting the various options you’d otherwise edit manually in the application XML file. I don’t know how you feel about XML, but I really don’t like to read and write manually XML files.
- Package Assistant Pro. This AIR application helps you to create native installers for your AIR app (it supports APK/Android too).
It is pretty safe to include here all the AIR apps that acts as documentation tools, including Tour de Flex or dojoToolbox. I’m aware of other examples, unfortunately they are used behind closed doors and I can’t talk about them.
So, why people are using AIR for this type of application and why should you consider this option too? Here are my arguments:
- AIR offers one of the easiest way of building a sophisticated user interface for a desktop application
- You can create an application that runs on Windows/Mac/Linux with the same base code (or almost the same; see the fourth argument)
- The built-in Update Framework is easy to use and powerful. You can deploy new versions throughout your company quite easily
- Starting with AIR 2 you can interact with native processes, so you have a way to expose Java programs through an AIR UI for example. When you use native processes you have to package your app as a native installer, but still you can easily target different OSes with the almost the same code
- AIR offers a comprehensive set of APIs to interact with the hosting OS. There are a lot of ActionScript libraries for all sorts of image, docs, video, and sound manipulation. So you don’t have to reinvent the wheel
- If you are a web developer and you don’t want to start doing desktop development for a living than AIR is by far your best option. I consider myself a web developer. I did two years of Java desktop development and I can tell you first hand that it is not at all like doing web development. I’m not saying one is better than another, I’m just saying they are different and as a result you need time to acclimate to the new one when transitioning from the other.
Have you ever used AIR for building helper apps or have you at least considered this option?