Mobile application development in PhoneGap

5. december 2013 | projects, technology

We’ve been using the PhoneGap framework for over two years now. What are the advantages and disadvantages of it? What should you count with when programming apps for smartphones using HTML, CSS, and JavaScript?

The mobile framework is very dynamic and diverse. The number of mobile devices is gigantic – for Android alone, there are over 4,000 of them. Each device can use a different version of operating system, there are numerous operating system updates, and different devices often have different technical parameters, such as screen resolution or pixel density.


What is PhoneGap?

PhoneGap is a framework/wrapper that enables accelerated developing of mobile apps through HTML, CSS, and JavaScript. The framework also allows accessing the built-in functions of the phone including the camera, GPS localization, compass, or contacts. After programming, the app is exportable for iOS, Android, Amazon Fire OS, BlackBerry 10, Firefox OS, Windows Phone, or Windows 8.

Advantages of using PhoneGap

One of the greatest benefits is saving costs as well as the time required to develop the apps because there is no need to develop their native versions individually. For example, it is not necessary to program the native versions of the same app separately in COCOA for iOS and in Java for Android.

Furthermore, there is often no need to know any of the abovementioned programming languages or frameworks, and you can get away with standard HTML, CSS, and JavaScript unless you intend to develop something more specific. In case you need to adjust the existing plugins or want to develop your own, the knowledge of COCOA and JAVA is required.

Another undeniable benefit is also a large number of developers, help forums, sources of examples, and the number of already existing plugins for work with Google Analytics API, Facebook SDK, PUSH notifications, or in AppPurchase.

The disadvantages of PhoneGap

Because the entire app runs in the so-called WebView (as if in a web browser), it is slower than a native app because it does not use the native UI features of the particular platform. The speed difference is noticeable especially during the use of complex application programming interface (such as the Google Maps API) on older devices.

Last but not least, optimization and testing are slightly more demanding than with the majority of mobile apps. The high number of different devices and potentially specific behavior make the development more difficult, especially for Android, because it is impossible to test the app on each device physically.

Conclusion

If you need to develop a simple app for example for iOS quickly and cost-effectively, we dearly recommend PhoneGap. However, if you intend to launch a rather complex app, foremost regarding design, we recommend opting for the Adobe Air technology.

up