With Apple’s iOS and Google’s Android mobile OSes dominating the current mobile market right now, it would make perfect sense for a company to develop mobile apps for these 2 major mobile OSes. However, to develop a native mobile app for iOS and another native mobile app for Android, this would incur two tracks of development. This is because the programming languages (in Objective C for iOS and Java for Android) and their IDEs/tools are different and require developers of different expertises.
Enter PhoneGap (www.phonegap.com), the HTML5 platform to create a single codebase to deploy to iOS, Android and various mobile platforms. It uses HTML5, Javascript (JS) and CSS familar to many web developers and its JS library can access the device’s native capabilities such as the phone contacts, camera/album and internal data storage. Essentially, a PhoneGap app is a native app that presents a ‘webview’ or an embedded browser that takes up the whole screen. It loads an index.html which is your HTML5 app. From this HTML5 app, you will be coding your UI and logic in JS/jQuery and use AJAX calls to retrieve data. This is the alternative to coding a mobile app using Web technologies. You can choose to embed jQuery UI frameworks such as http://jquerymobile.com/ or http://jqtouch.com/ to simulate finger-friendly UIs for touch and CSS3 features for Webkit animations.
To keep my post short, there is a good comparison on the pros and codes of native vs. web technologies here: http://interfacethis.com/2011/is-html5-ready-for-prime-time-vs-native/ and many other comparisons that you can find on the Internet. But you will appreciate the differences and trade-offs if you have done both native and PhoneGap development before.
In summary, with PhoneGap, there will be a consistent UI that looks the same on both iOS and Android platforms and there is one main HTML5 codebase to maintain. I will not touch on how to start off coding a PhoneGap app as these are covered on the official site and there are many articles on how to use jQuery UIs with PhoneGap as well.
Things are not that rosy with PhoneGap, as there are still differences and tweaks required on each platform to get PhoneGap working the way you want it to…