- Access the native phone APIs through the PhoneGap wrappers
- Deploy to multiple platforms
- Running from within a browser your app won’t have the native built-in styles available unless you use CSS to mimic them. There are frameworks that have been created to that effect. Sencha Touch comes with two default themes for iOs and Android and there are JQuery Mobile Themes available as well.
- Performance will take a hit because of the extra layer between the app and the OS.
- Access to the some of the native phone high level functionality is sometimes limited.
- Support is sometimes hard to come by for specific issues, since this is a community supported project.
Those issues withstanding, I still think that PhoneGap is only poised to get better, and improve support for more native functionality. I think it is complimentary to my web development skills and allow me to expand into a new market without really stepping out of my comfort zone. If you are worried about native feature support or exploiting more of the native SDK, you should definitely look into Titanium, from Appcelerator which offers to “translates your hard won web skills into native applications that perform and look just like they were written in Objective-C [iPhone and iPad] or Java [Android]”.
Here is a list of links I found useful on the matter:
- Mobile App Development for Web Developers
- An overview of Sencha Touch
- PhoneGap vs Titanium Mobile, et al
- PhoneGap vs Native SDKs for Mobile App Development
- XUI: A super micro tiny DOM library for authoring HTML5 mobile web applications.
- JQTouch: A Sencha jQuery plugin for mobile development
- Interface This: An excellent comparison of the different frameworks based on actual experience by Dave. A Must Read.