Review: Appcelerator vs. PhoneGap vs. Adobe Air

Overview

UPDATE: This was originally posted January 18th, 2011. All 3 platforms have changed immensely since.

UPDATE: If have updated and more detailed information about Appcelerator and PhoneGap at this link: https://savagelook.com/blog/portfolio/a-deeper-look-at-appcelerator-and-phonegap

I have been charged with deciding on a mobile framework for deploying a single code base to multiple devices (iPhone, iPad, Android, Blackberry). Naturally, I was gravitating towards Adobe Air since most of my personal work these days has been in AS3. I wanted to see what else was out there, though, and was pretty surprised that Adobe Air wasn’t my choice in the end.

In addition to one other commercial platform I did not fully assess (too expensive), I looked at Adobe Air for mobile, Titanium Appcelerator and PhoneGap. All are free to use frameworks for centralized mobile development. The gist is to be able to create apps for multiple devices off the same code base. With iPad & Blackberry support, speed to market, and the ability to use Contacts & Multitouch as my critical points, I began digging.

General Functionality

Titanium Appcelerator PhoneGap Adobe Air for Mobile Notes
Android Support Adobe Air requires Android 2.2+
iPhone/iPad Adobe Air creates iOS apps with the Packager for iPhone
Blackberry Phone Appcelerator support is currently beta.
Blackberry Playbook Appcelerator support is currently beta.
Symbian
Palm
Windows Phone 7 is a 3rd party attempt for PhoneGap.
Native UI support PhoneGap and Adobe Air both require 3rd party libraries. PhoneGap has UIControls for PhoneGap. Adobe Air has and android-components
Native code support Appcelerator allows module development. PhoneGap uses .
Desktop deployment PhoneGap has 3rd party libraries on Github: &
Deploy without Mac? Adobe Air uses the Packager for iPhone/iPad
IDE & Tools Titanium Developer PhoneGap Tools Flash Builder, FDT, FlashDevelop Appcelerator has no current IDE, but recently acquired Aptana
Interpreting Javascript mapped to native code Rendered in web view control Adobe Air runtime
Community Resources Developer Center Docs, Wiki, , and Mobile and Devices Development Center
Languages used JS HTML, JS, CSS Actionscript3 Appcelerator also uses PHP, Ruby, and Python for desktop app development
Support $2,189 per year per developer ranges from $1,000 – $25,000 per year Adobe Support Adobe offers no professional mobile support for apps, just their products.

Device APIs

Beyond the overall support structure of the frameworks I wanted to get into the specific device API functionality. This was a little harder to track down, but the list here should be accurate as of the writing of this post. As I said earlier, contacts and multitouch were the only criticals, but I wanted to know what else these frameworks offered. I’m assuming anyone reading this far would find this information valuable as well.

Titanium Appcelerator PhoneGap Adobe Air for Mobile Notes
Accelerometer
Geolocation
Vibration
Camera Not yet supported Adobe Air for iPhone/iPad
Contacts
Multitouch
SQLite
File System IO
SMS All support SMS via the “sms:” URL prefix.
Phone API
Copy/Paste
Sounds PhoneGap cannot record sounds. Adobe Air cannot record sound for iPhone/iPad
Bluetooth
Video Capture Adobe Air cannot record video for iPhone/iPad.

Summary

That’s what I’ve got so far. Let me know if and when some of these assessments change. I’m also eager to hear other people’s thoughts. Feel free to chime in.

The long and short of my recommendations:

  • Go Adobe Air if performance isn’t critical and you have AS3 experience. The tools and workflow for using pure AS3 or Flex Hero make turning out mobile apps very smooth. Watch out for performance, particularly on iOS.
  • Go PhoneGap if you needed the widest range of support for devices. If you need it to run everywhere, this is your framework. Beware of the less than stellar documentation and wiki, though.
  • Go Appcelerator everything else. The native UI and ability to access native code is a big win. Also, the community, IDE, and documentation are top notch. Appcelerator was my choice in the end, but that doesn’t mean its right for you.

56 Responses to “Review: Appcelerator vs. PhoneGap vs. Adobe Air”

  1. says:

    I wish Titanium also had a UI Builder – with drag-n-drop support. Would be a killer addition to the platform which is pretty good otherwise.

  2. Darryl says:

    Fantastitc article! The best one I have seen on the subject. I do want to share my two cents.

    1. Adobe Air 2.6 does have full camera, microphone, and retina display support now (see http://www.adobe.com/devnet/air/articles/ios_features_in_air26.html ) Plus, there are free native-like UI android and iPhone widgets for Air.

    2. Titanium does look promising, but after reading all the horror stories about memory leaks and bad tutorials I rather stick to adobe Air. Besides, Flash CS5.5 is a fantastic development environment.

    Disclosure: I develop in Air, Flash, iOS SDK, Android SDK, Winforms and ASP.NET (with C#). My Appcelerator experience is limited to a couple of days plus google research. I have no connection to Adobe other than the fact that Flash/Air/AS3 are a part of my skill set.

    I hope this helps.

  3. Flemming Gravesen says:

    Hey.
    Does it still apply that Bluetooth API is not supported in PhoneGab…
    Some plugins are available here:

    Nice page btw.

  4. Neno says:

    Re supported features, PhoneGap supports audio recording and playback as well as video capture. I’ve only tested this on an Android 2.2 device but see the docs here http://docs.phonegap.com/en/1.1.0/phonegap_media_capture_capture.md.html#Capture and here http://docs.phonegap.com/en/1.1.0/phonegap_media_media.md.html#Media.

  5. Neo says:

    Nice review, but it need to be updated from time to time…..

  6. Springframework says:

    It would be nice to see this article updated.