Porting mobile apps across systems is, to put it kindly, an inelegant process. There’s considerable work involved — so much so that developers are sometimes forced to limit their efforts to one platform.
PhoneGap, an open-source mobile framework, offers an alternative: It helps developers build a common codebase for their apps so the apps work across devices and systems.
I recently spoke with Joe Bowser (@infil00p), creator of PhoneGap’s Android implementation, to get his take on the strengths and limitations of PhoneGap and what developers need to know before putting it to use. Bowser will dive into a number of related topics during his session at next week’s Android Open conference.
Our interview follows. (Note: this interview was conducted before Adobe announced its acquisition of PhoneGap’s parent company, Nitobi.)
What is PhoneGap and why should mobile developers consider using it?
Developers use PhoneGap because it allows them to have a common codebase for all their application code. It doesn’t force developers to reinvent the wheel every time they move from platform to platform.
Are there downsides to using PhoneGap?
What challenges did you face when creating the Android PhoneGap implementation?
Joe Bowser: The Android PhoneGap implementation was our first implementation after the iPhone, so there were questions about whether this was possible at all. At that time, the Android 1.0 SDK was just being released, and the only devices that ran Android were the HTC Dream and T-Mobile G1. This has obviously changed, but the most challenging thing is still testing on all the real devices that are out there. Every device has its own implementation of the Android OS and its own implementation of the WebKit rendering engine.
What’s the best way for PhoneGap developers to handle device-specific needs?
Joe Bowser: It depends on the feature set. Most applications don’t need many device-specific features beyond the user interface, but there are numerous plugins that can help with this approach. The best approach is to decide what features you need and to use only those features. There are many applications that have permissions turned on that they don’t need. For example, a simple ebook doesn’t need access to your phone state, GPS or contacts.
What is a hybrid app?
This interview was edited and condensed.