I’ll try to explain the reasons behind the decision to use Adobe AIR to build the RunPee mobile apps.
First, I have been a Flash/Actionscript developer for over a decade so using Adobe AIR is very easy for me to pick up and work with.
Second, and most importantly, the Android and iPhone apps use one code base. If I were to build the apps using the native languages and tools for both Android and iPhone then I would have two entirely different code bases to work on. They wouldn’t share a single line of code between them. That would effectively double the work.
Plus it simplifies testing to have just one code base. I only need to do rigorous testing on one platform and then do a quick check on the other to make sure something funky isn’t going on with AIR – which rarely happens. In fact I don’t even have an iPhone. I do all the testing on my two Android phones and then ask users/family to do a quick run through on their iPhones.
It goes without saying that every update to the apps that I make would also have to be done twice. In the end that becomes overwhelming to keep up with. I’m not a team or a company. I’m just one guy working with the time limitations of personal projects like RunPee and client work that pays the bills.
Thirdly, I would have to learn both Java – for Android – and Objective C – for iPhone – to be able to write native apps. There are many developers who can work in both languages, plus ActionScript. And I salute them. But I’m really not interested in putting for all that effort to write apps that only work on one platform. And it would be a huge effort. I’m not even sure it’s possible to write iPhone apps on a PC and there is a zero percent chance I would ever use Mac. To put it quite bluntly I’d give up using computers altogether if my only option were Mac.
So there you have it. If it weren’t for Adobe AIR there would be no RunPee app.