Comments (0)

Created

July 18, 2012

Adobe PhoneGap: An Overview

Adobe PhoneGap (recently acquired with Nitobi) and its open source counterpart, Apache Cordova, are tools for developing cross platform mobile applications utilizing HyperText Markup Language (HTML), JavaScript (JS) and Cascading Style Sheets (CSS).

What exactly is a cross platform mobile application? A cross platform mobile application is identical to a native application except it utilizes one code base to deploy the application to multiple different platforms. Why does this matter? It matters because it allows for a significant reduction in the amount of time and effort required to develop an application by not having to write it in the native language of each platform. It also allows for the use of the widely available and more cost effective skill sets of HTML, JS, and CSS for development of applications.

Adobe PhoneGap supports the following platforms:

  • iOS
  • Android
  • BlackBerry
  • WebOS
  • Windows
  • Symbian
  • Bada

A specific list of features supported on each platform can be viewed here: http://phonegap.com/about/feature

With PhoneGap, an application is able to access native features of a device just as a regular native application would. PhoneGap has access to the following native device interfaces:

  • Accelerometer
  • Camera
  • Compass
  • Contacts
  • File
  • Geolocation
  • Media
  • Network
  • Notification
  • Storage

More information about these supported features can be found in the API documentation here: http://docs.phonegap.com/en/1.9.0/index.html

While PhoneGap does support most native features out of the box, there are cases where a native feature may be needed for an application but that feature is not supported. If that is the case, PhoneGap does allow Plugins. Plugins are written for a specific platform in that platform’s native language. For example a plugin for iOS would be written in Objective C and an plugin for Android would be written in Java. Also needed will be a JavaScript component which will expose the plugin to the application. Each platform needs a separate JavaScript component as well.

More information about PhoneGap Plugins can be found here: http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins#HowtoWritePluginsforAllPlatforms

In an effort to make deployment to different platforms as easy as possible, PhoneGap Build was developed to facilitate creating platform-specific files in one easy-to-use service. PhoneGap Build allows for application resources to be uploaded and then it creates all the native wrappers necessary to deploy to each specific platform. This allows developers to create application resources in any development environment without requiring a specific development environment setup for each platform. Signing certificates may be uploaded to the build service so that applications are ready for deployment to the respective app store once the build has completed.

More information on PhoneGap Build can be found here: https://build.phonegap.com/docs

Ready to get started with PhoneGap? If so, there are numerous resources available to help.

Getting Started: http://docs.phonegap.com/en/1.9.0/guide_getting-started_index.md.html
API Reference: http://docs.phonegap.com/en/1.9.0/index.html
Tools: http://phonegap.com/tool
Wiki: http://wiki.phonegap.com/w/page/16494772/FrontPage