PhoneGap vs Titanium Mobile, et al

April 5, 2010

Greg Bulmash of Lynnwood, WA posted a thoughtful review of my iPhone book on Amazon. In it, he raises a point that I hear often:

Thing is the multi-platform framework space is exploding. Besides Phonegap, you've got Appcelerator Titanium, Rhomobile (with Ruby), the Flash CS5 iPhone packager that Adobe has in private beta, and more. The folks at FlyCast are about to open a service that converts, packages, and submits your apps.

It is true that there are many other cross-platform mobile development options available - and for the record, I do refer to a few of the more popular ones in the book. The reason I support PhoneGap is that it's the only cross-platform mobile development solution that allows you to write your apps with standard HTML, CSS, and JavaScript.

In other words, with PhoneGap, you write a normal web app and then drop it into native app wrappers for the various platforms. With all of the other cross-platform mobile options, you write code based on a proprietary framework that will only run as a native app.

For example, you can write a Titanium Mobile app using Appcelerator's proprietary framework to create native apps. But Titanium Mobile won't output your app in a way that will also run in a mobile browser.

Call me crazy, but I see the standards-based mobile web as the future of mobile computing. I don't advocate cross-platform development approaches that conflict with this view.

Another thing to consider is the number of supported platforms. Titanium Mobile, for example, only supports iPhone and Android. As I write this, PhoneGap supports iPhone, Android, Palm, Symbian, Maemo, Windows Mobile, and Blackberry. And iPad and Windows Phone 7 are coming to PhoneGap soon.

If you have a big mobile project coming up, it would be a good idea to investigate your options. Ultimately, the best approach will depend on your target market and goals. My general advice to developers is that if you can build your app with standard HTML, CSS, and JavaScript, then you probably should.