I have recently discovered that you can build apps with Adobe Air 3 for all mobile devices so you don't need to learn iOS on one hand and Android programming on other and create one app for each OS...
Do you guys have any experience with Adobe Air 3?
Are there any apps you have already created?
Yes you can, there are advantages but there are also drawbacks.
The advantages of using AIR, fairly obviously really, are:
One code base means a reduced development burden; so you can build the app once and target multiple platforms. This reduces development time and cost.
Reduced maintenance burden, as you are working with a single code base. So if you publish an update or need to issue a bug fix, it's going to be quicker and cheaper to do so.
You can target desktop, flash (browser) and html (browser) from the code base too.
If you don't know xCode or Java it but know ActionScript 3 then of course that could be a benefit too. Though I would recommend knowing xCode and Java before embarking on mobile projects.
You aren't locked into using a Mac for development of iOS apps. Which if your a PC would be a benefit (though you still need a Mac to publish to the app store, but if you are strictly a PC this won't be an issue as you can buy a cheap Mac for the sole purpose of that).
There are drawbacks; such as:
The app will have a slightly bigger file size
Android targeting is limited as the device needs the AIR extension installed, which while free may pose a problem; depends on the project.
Blackberry is poorly targeted, only supports the Playbook
No Windows Phone support
It takes time for API's to make their way into AIR; so you may not be able to use all of the facilities you would want to, though native extensions go a long way to resolve this.
We've created a few Apps using AIR and some with Java (Android) and xCode. There isn't much between them in terms of difficulty; I find you have to be slightly more aware of performance.
If you are worried about the quality of apps produced with AIR; if you can create quality apps then you'll be able to use AIR to create a quality app. If you can't create quality apps then you're apps will be poor regardless of whether you use xCode, Java or AIR.
Thank you very much FizixRichard for sharing your experience!
You were very helpful to me, I think I will start learning iOS and focus only creating apps for iPhone and iPad
I would from personal experience recommend learning xCode, Java and AIR; lots of businesses like the idea of AIR even with the disadvantages as one codebase makes a lot of business sense. Being able to provide using the official SDK and solutions like AIR puts you into a useful bargaining position when competing with other development companies depending on the clients priorities.
Well yeah I will start with xCode and probably until 2013 I can cover the rest
Adobe Air looks like a good option and could be used for simple apps I think and for advanced apps its better to use native languages.
Starting by learning Xcode will help you in the long run, simply because you'll need to learn how to use Xcode anyway to upload your binary to Apple. I started that way myself.
Now I'm building my apps using HTML/JS/CSS along with Cordova PhoneGap, then using Xcode to compile and upload to Apple. I then use those same HTML/CSS/JS files (with some changes) in Android's Eclipse SDK and upload to Google Play.
Thanks for sharing your experience StevenHu!
I searched for Cordova and it looks interesting
I have no idea how to keep up to all of them...
If you already know HTML and CSS, then PhoneGap is a quicker way to go if you have a simple app in mind and want to get it in the app stores quickly.
Yeah I know HTML and CSS, lets see I don't have not much time right now but I have added it to my favorites!
I don't know about that, it depends on how you define "simple" and "advanced" apps and what your priorities are. I mean most apps (the major ones) I see on the app store can be done with AIR perfectly well; and with ANE's any features that aren't supported by Adobe can be introduced.
Like I said before, you should learn XCode as it teaches you a lot and of course you'll find you'll be using it regularly if you are building apps, but if you want multi-platform I'd recommend taking up AIR (and as already mentioned stuff like phonegap) as there are some pretty massive benefits there. I get asked about using AIR a hell of a lot by clients; most of whom couldn't give a damn about an extra bit of filesize and are more concerned about multi-platform build and maintenance burden (they are afterall businesses).
Also if you want to get into games; I'd steer away from the official SDK and AIR; and look more towards Unity, which is a monster of an engine; and multi-platform. Official SDK isn't automatically better.
It's a bit like restricting yourself to one programming language as a developer in general; you should have as many relevant tools to your disposal as possible and select the tools based on whats best for the customer.
This topic is now archived. It is frozen and cannot be changed in any way.