Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've worked with Adobe Flash-related technologies for the past 5 years. I've seen small bugs in some apps, but I don't understand why many big companies don't consider Adobe Air for their mobile apps.

I've seen many mobile developer job postings that require Android or iOS expertise, but not too many that require Adobe Air expertise. This puzzles me because you can deploy Adobe Air apps to Blackberry, iOS and Android. Also, in my opinion, it's much easier to develop a game with Flash, than it is with the Android SDK, for example.

Does Adobe Air really have weaknesses that I've never seen?

share|improve this question

closed as not constructive by gnat, Walter, Matthieu, Mark Trapp, ChrisF Sep 6 '12 at 13:18

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I wouldn't be surprised if the only reason was politics. Adobe threw all their weight promoting (and documenting) the Flash flavour of Air, without doing much to help its HTML5 flavour. And I think as a mobile developer you know that Flash doesn't really have a place in mobile development, I guess Adobe just bet on the wrong horse... – Yannis Sep 4 '12 at 3:25
A couple of years back I worked on an application in Flash Lite. It was a gigantic pain in the arse, because the "source" was a binary blob with the layout that was completely unmergeable and thus huge bottleneck for any team work. The actionscript classes fortunately could live in separate files. I believe the new version is better in this respect, but many people will still have flash connected with something totally unsuitable for anything large. – Jan Hudec Sep 4 '12 at 6:36
up vote 7 down vote accepted

As a user and a speaker of a language with a non-Latin alphabet (Hebrew, in my case), I can say that whenever I see an application is using Adobe Air, I know I'm gonna have problems.

In desktop applications where textboxes and right-to-left text leaves a huge mess - I usually copy the existing text to Notepad, edit it, and paste it back into the Air-based textbox. The developer's response? "It's the Air platform, there's nothing we can do about it".

In Android I've had even worse problems. One application I've installed recently, a remote file browser, simply replaced all non-Latin characters with spaces.

Some of these are developer bugs, of course, but many are the fault of the platform. Windows has been the first major OS to fully support Unicode and RTL text in a consistent and useful manner. Android has come a long way since 2.1 and its bugs, and new Android versions get it 90% right. But then comes a long an application platform like Air that starts from scratch, reinventing the wheel, and pushes us 5 years back in that respect.

share|improve this answer

Flash has lost the race for building standard mobile apps and Adobe knows it:

Looking forward, Adobe believes that Flash is particularly suited for addressing the gaming and premium video markets, and will focus its development efforts in those areas.

Now, with their refocus on the gaming market, who knows what the adoption rate will be like? Some favor HTML5/Javascript, but of course to many, this is still unproven and has a bumpy track record at best in the gaming arena. Cross-platform development with Flash (web plugin/AIR) sounds pretty sweet, especially with the planned features listed in Adobe's roadmap, but who knows how it will actually pan out?

Then, there's the community and transparency to its users. Adobe has been notoriously bad at this. Obviously W3C is wide open to anyone, so it's wholly transparent and developers can know what to expect. Having said that, knowing what to expect doesn't automatically equate to proposed standards not changing frequently or the working group to be a well oiled machine, but all is transparent, while Adobe's somewhat of a black box.

Now that I've gotten somewhat off track with my thoughts..

IMHO, Adobe AIR is underrated because of its community. Adobe is commercial while HTML5/Javascript is free. Because HTML5/Javascript is sufficient for most applications, you'd be hard pressed to find a CTO of any startup who is inclined to pay thousands of dollars for Adobe's tech when HTML5/Javascript is free (not to mention hiring for the latter would likely prove to be easier).

share|improve this answer
The "free vs. thousands of dollars" argument is specious IMHO. The toolset for HTML5 is decidedly not mature. (Where are all the HTML5 animation tools? Right.) They will get there eventually, but right now, if you want rich content in a native web app, you have to craft it by hand. If you want to do a LOT of rich content (e.g. you mentioned games), you are far better off paying for the toolchain that the guys who make animation professionally have been using for decades. As always, the answer should be "what do we need to spend to go as fast as possible?" – Tim Keating Mar 20 '13 at 22:09

We actually had a debate similar to this in our company, should we use various toolkits for making portable applications or should we make native applications?

In the end the native applications won, mostly because they offer very good control of memory and resources. They also have better user experience (no lag when clicking on stuff or swiping, even in item lists with thousands of elements).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.