PhoneGap - Write native apps for iPhone, Android, and Blackberry using JavaScript

Categories: Adobe AIR Frameworks iPhone JavaScript Objective-C RIA WebKit

From the site (

“PhoneGap is a development tool that allows web developers to take advantage of the core features in the iPhone, Android, and Blackberry SDK using JavaScript.”

PhoneGap essentially wraps a web view (WebKit on the iPhone) in a native app container, giving the web application access to core device APIs. This should go over well with the Adobe AIR crowd that’s already been sold on the idea of repurposing their web-based apps as “native” desktop apps, who are also interested in bringing that software to various mobile devices.

What will the programs created in this manner be called? Rich Internet Applications? Native Web Applications?

I’m a big proponent of web-based applications, but only inasmuch as they allow fairly ubiquitous access to data across devices. My biggest beef with web apps, though, is that they are much less responsive than native applications. Alright, let me rephrase that - a web application will always be inherently slower than a native app. I/O for the data model aside, a web app also has to contend with the fact that both its data and the presentation logic for the data must trickle over the wire or over the air (and then be rendered) before anything useful can be done with it. Native applications simply do not have to deal with the presentation waiting game.

So the scenario I see PhoneGap being used for is something like: provide as much presentation logic/code as possible in a local data store that gets installed with the app, and only download data for the user when necessary. Cache things that won’t change often. Use device APIs for storing user data locally and for things like geo location.

I’m excited about the prospects of using JavaScript (something fairly easy to pick up) to create “native” web apps for mobile devices. But I’m also aware that the speed, feel, and device integration of a true native app (especially if it gets its data from the web) will beat web applications in those same criteria for the foreseeable future.