One of the most popular tool for developing hybrid mobile applications is the software platform PhoneGap. Let’s find out the reasons for such a popularity, the possibilities of the technology and how can it be used in the competent hands of PhoneGap developer.
A Brief History
PhoneGap appeared in 2009 as part of a startup called Nitobi. This framework has the open source code and provides access to its own development environment through the built-in native application component of the Android-based Web View platform. Its goal is to provide the conditions for creating a mobile application using pure web technologies, such as HTML5, CSS, and JavaScript. At the same time, the developer should have the opportunity to use native code (if necessary). In 2011, Adobe bought Nitobi along with the rights to the PhoneGap brand. Since then, it has come to be called Cordova. The project was transferred to the Apache Software Foundation.
The Reasons for PhoneGap Popularity
- A significant advantage of PhoneGap is the approach to the very idea of writing code. Traditionally built-in applications are created under a certain platform with the knowledge of the required programming language (for example, Objective-C) and the corresponding SDK. PhoneGap makes it possible to create hybrid applications using only the knowledge of web-languages HTML, CSS, JavaScript. The framework relieves the developer from the need to learn languages for mobile platforms since it is supposed to develop an independent web-application from the operating system of the device. PhoneGap performs the packaging of the created web-application into the built-in for installation under several different platforms at once.
- It provides a set of JavaScript interfaces for accessing many functions of devices that are not accessible from mobile Web browsers for typical Web applications. This is achieved by using a Web application inside the built-in shell program. PhoneGap combines the Web application code with the browser of the device browser to create a “native” application that can be deployed to the application store and installed on the device.
- In addition to the mobile application platform itself, PhoneGap provides access to its “cloud” in which it is possible to assemble a project, and download an already executable file to the mobile device. To access the “cloud” it is necessary to register on the official site of “PhoneGap Build” and then the online “collector” of programs will be available.
- In addition, the basic functionality can be expanded by using additional plug-ins from a special repository. At the moment there is a set of plug-ins for four operating systems: iOS, Android, BlackBerry, and Palm.
- The PhoneGap engine extends the browser API and adds the following features: access to the accelerometer, access to the camera, compass, contacts list, recording and listening to audio files, provides access to the file system, allows working with various HTML5 storages localStorage, Web SQL and accessing any cross-domain address.
- A hybrid application created using this technology can be compiled for different operating systems in one click. It is possible to distribute the finished result through the application stores. This development method is especially relevant for novice programmers who wish to develop in the direction of creating simple cross-platform mobile programs.
PhoneGap vs Cordova vs Ionic vs Xamarin
Let’s clarify the difference. If to talk about PhoneGap vs Cordova, it should be said that Cordova is an open source framework that is run by Apache. PhoneGap is Cordova with an infrastructure from Adobe. As for PhoneGap vs Ionic, the latter allows creating interactive apps. PhoneGap vs Xamarin can be both used for cross-platform applications creation.
Summary
Undoubtedly, the productivity of the application on PhoneGap will be inferior to the native application, but in most cases, the difference is so insignificant that it is not visible to the human eye. However, this is an excellent alternative to native development for mobile platforms, in most tasks justifying its application.