An Overview of PhoneGap
With mobile trends taking over the tech scene, an overwhelming number of app development programs are becoming available. We thought it would be helpful to start profiling some of these that are garnering a lot of attention, to provide some additional insight.
What is PhoneGap?
While you could look at the PhoneGap application like it's a hybrid "web page" saved on your device, in reality it allows developers to reuse some of the most common mobile platform/device features like cameras, contact lists, device storage, and native notifications.
Building and compiling your applications is made easy with "Adobe® PhoneGap™ Build". No longer does it need to be done locally. You can upload the source of your application to their server with minimal configurations and, a few minutes later, you can download the installation packages for the platforms you selected.
Below is a chart showing which APIs are available for each device
What are the disadvantages of using PhoneGap?
Below are a few issues we ran into while developing apps with PhoneGap:
- Performance issues (DOM manipulation, data manipulation)
- CSS is not the best substitute for native effects and animations
- No possibility of creating background services
- At times, the documented features of PhoneGap don't work as they should
- Having a lot of graphical assets on your app can cause the performance to drop and, in worst case scenarios, even kill the app with a "memory limit reached" error
- Each platform has its own webview that differs depending on the version and when targeting older devices some inconsistencies may become apparent
- Not all native features are accessible through the Cordova platform
When should I use it?
PhoneGap is the right option for you if you want a fast and inexpensive solution for making simple mobile apps that can function on different platforms.
If you’re new to mobile development but you have a background in web development, PhoneGap can be used as a gateway in learning how mobile apps work and might even push you to try your hand at creating mobile apps in their native language.
For a list of apps that were created with PhoneGap, check here.
Overall, PhoneGap is nice tool for creating simple and affordable mobile apps. However, you should never expect it to perform tasks it wasn’t meant to complete. If you begin to see that your applications are becoming bigger and harder to maintain or start to have performance issues, it may be time to start thinking about moving to native app development.
*If you’re interested in learning more about mobile development, check out this blog post written by our Mobile Developer, Tadas Z.