I recently developed an Android app using PhoneGap. Although, my ultimate goal is to develop native Java code for android and native objective-c for iOS apps, PhoneGap allowed for a very quick and easy way to develop an application to hook up to an existing web service for user login authentication and much more.
PhoneGap is a free and open source framework that allows you to create mobile apps using standardized web APIs for the platforms you care about. — phonegap.com
This app does not take full advantage of all the device features like the camera, GPS, and others, however it does utilize the push notification system, which is a great way to keep your users engaged in what you offer. I have plans to implement features like camera, contacts, compass, and more.
My overall experience with PhoneGap itself has been fine. The issues I’ve been running into are the PhoneGap plugins, which are created by other developers. Nearly every plugin I’ve installed was developed prior to PhoneGap / Cordova 2.0. In the newer release of Cordova 2.x they changed a decent amount on how plugins are called.
The main class to extend when developing a plugin in earlier versions was called “Plugin”, now it’s called “CordovaPlugin”. So of course, I don’t like to see deprecated messages with my code, I start converting over all the code to be updated to the newest version, which means I’m re-writing a lot of code. The way I look at it, it’s giving me good experience developing native code 🙂
In the end, I’m happy to finish the application and plan on writing more with PhoneGap in the future. Only time will tell when I write my first full application in pure native code.