PhoneGap: Mobile development made easy
Adobe PhoneGap taps basic Web development skills for mobile apps on iOS, Android, BlackBerry, and Windows Phone
PhoneGap: Mind the gap
Note that the PhoneGap SDK is a bare-bones framework. You'll find no prefab code widgets or bells and whistles for user interface development. Nor does PhoneGap provide middleware for connecting devices with back-end servers, such as the enterprise-level sync infrastructure offered by Rhomobile.
You'll need to use a native tool chain to code your app. For Android, you install Eclipse, the Android SDK, and the Android Development Tools (ADT) plug-in. You may also install Git if you want to target specific platforms and minimize the footprint. If you want your app to run on iOS, Windows Phone, and BlackBerry as well, you can use Adobe's PhoneGap Build cloud to create packages for all of these and other supported platforms. PhoneGap Build is free for open source projects, and it starts at $12 per month for private applications.
Getting started with the Android SDK required a bit of code tweaking: defining an Android project, importing the PhoneGap libraries, pointing the starting Java file to PhoneGap, and modifying the base class to extend
DroidGap. You also have to change
setContentView to load the URL of your app's HTML-based home screen, which also must be manually created.
If any of that seems off-putting, you might consider using one of the PhoneGap-based IDEs, such as AppMobi or Tiggzi, which put a visual front end on the framework. Adobe Dreamweaver CS 5.5 also works well with PhoneGap.
Using PhoneGap with Xcode on the Mac is more seamless, with Xcode generating all assets and providing a graphical front end to help configure options like splash screens and device orientation. Still, it was easy enough to configure my target Android device (Android version, screen resolution, storage device, and so on) in Eclipse, and I could stub out a basic app pretty quickly. The API methods are well documented and peppered liberally with example code snippets.
In addition to easing development, PhoneGap's browser-based approach offers the advantage of delivering more predictable results across varying device form factors and pixel densities. On the downside, there's still a lot of hand coding involved that isn't managed by Xcode or Dreamweaver. This is where cloud-based tools like Tiggzi come in handy. In addition to supporting drag-and-drop interface construction, Tiggzi provides a graphical interface for wiring service calls, mapping these calls to the UI, and testing the results. In PhoneGap, all of this is done by typing in code.