With the introduction of new mobile platforms and their native development language the one of the biggest challenges confronted by the developers is to use HTML, CSS and JavaScript to code applications that could take advantage of the native functionality of the Smartphone, such as storage, geolocation, media and camera. The problem intensified with the release of a variety of systems, devices, browsers and their versions.
To overcome this problem, Nitobi company comes up with an alternative as PhoneGap, also known as Apache Cordova. It is an open source, cross-platform mobile development framework built on top of the Apache Cordova platform, which helps developers to build a common code base for their apps instead of focusing on device specific languages. Developers who don't know Java or Objective-C need not to worry now as with this framework they can create rich mobile apps for different platforms by using HTML5, JavaScript and CSS3. Now, coding experts can use these three technologies for developing hybrid applications which are neither purely web based nor mobile native applications. It supports a variety of platforms:-
- Android
- iOS
- Windows 8
- LG WebOS
- Nokia Symbian
- Tizen
- BlackBerry 5.x+
- Microsoft Windows Phone 7 and 8
- Bada
- Firefox OS
- Ubuntu Touch
This writing throws light on the pros and cons of using Phone Gap for Mobile app development.
Pros:-
1. Developers need not to have any native experience, intermediate web development knowledge will be enough.
2. Javascript, CSS3 and HTML5 knowledge is required only.
3. Applications developed using PhoneGap works on different mobile platforms like Windows, iOS and Android.
4. One can access many native features like geolocation, compass, notification, camera, accelerometer, media and storage.
5. Portability i.e. app developed for android can be easily ported to another platform by transferring the code.
6. If user wants all UI of application in HTML then PhoneGap paired with a mobile web library, such as Sencha Touch or jQuery Mobile is a great option.
Cons:-
1. Native development is best for building game or app that needs high graphical performance.
2. Developers must think about the buttons they are going to use. There is back button in android devices while in iOS one need to develop this in the application.
To epitomise, I must say that PhoneGap is a simple and affordable toolkit for developing cross platform mobile apps. It is best suited for developing apps that do not use the native features of Smartphones.