Andrew Shorten has an interesting post called “Determining when you should (and shouldn’t) use AIR“. From time to time we get this question, and Andrew’s post manages to offer an excellent set of rules to make the right choice.
My own answer to the same question is this rule of thumb: if your AIR application doesn’t offer anything on top of what a web application can offer, than AIR is not the way to go.
If you applied this rule, and you ended up with a web app, then you have to apply this second rule of thumb: if the browser chrome can literally kill your application, then go for AIR.
Let me explain the last sentence: try to imagine an instant messenger client implemented as a web application, and the same application implemented as a desktop application. Although both versions could offer the same features (ie. sending and receiving messages) only the one implemented as a desktop application is user friendly and usable. And when you talk about RIA applications, you’re talking about improved usability, and richness.
And I have another belief that I want to share with you, and maybe to validate. This belief comes partly from my previous experience as a developer working in an IT department for a financial company, and partly from my first experience with building an AIR application for our local office, back in 2007.
I think that if you are in this position: already know Flex or Flash, your work in the IT department supporting the company business, and you have to create an Enterprise RIA application, then you should always choose AIR.
Bear with me, and listen my arguments. In this environment it is my experience that they always expect you to finish the application in the next couple of days. Thus, it is quite possible for the first version that you will not have the time to implement anything using AIR APIs (such as offline/online workflow, integration with OS using drag and drop, and so on). But – and it is big “but” – almost all these types of applications deal with a lot of data. And it’s possible for the next version of the application to have the time to implement online/offline workflow, and the users will love you. If you worry about strict policies regarding installing the software on the boxes, then keep in mind that for example you can always pack the AIR app as an executable together with the runtime. You can read more on how to distribute AIR apps in the enterprise here.
By choosing AIR from the beginning, you are planning for the future. As you probably might know, one of the priorities Adobe has is bringing Flash Player 10 and AIR to mobiles and other devices.
What do you think?