Mobi-Learning Inc.

unlimited learning, unlimited possibilities

Going cross platform with PhoneGap

PhoneGap

PhoneGap Are you thinking about targeting multiple platforms? Do you have experience with building web solutions? Do you want to reduce costs of development? PhoneGap may be solution for you.

What is PhoneGap

PhoneGap is a mobile development framework produced by Nitobi, purchased by Adobe Systems in 2011. It enables software programmers to build applications for mobile devices using JavaScript, HTML5, and CSS3, instead of device-specific languages such as Objective-C or Java. The software underlying PhoneGap is Apache Cordova which is an open source framework.

The core of PhoneGap applications use HTML5 and CSS3 for their rendering, and JavaScript for their logic. Although HTML5 now provides access to underlying hardware such as the accelerometer, camera and GPS, browser support for HTML5-based device access is not consistent across mobile browsers and platforms. To overcome these limitations, the PhoneGap framework embeds HTML5 code inside a native WebView on the device, using a foreign function interface to access the native resources of the device. Additionally, developers can extended PhoneGap with native plug-ins that allow for developers to add functionality that can be called from JavaScript, allowing for direct communication between the native layer, and the HTML5 page.

Benefits

PhoneGap currently supports development for the operating systems Apple iOS, BlackBerry, Google Android, LG webOS, Microsoft Windows Phone (7 and 8), Nokia Symbian OS, Tizen, Bada, Firefox OS, and Ubuntu Touch. It supports the philosophy called “develop once deploy everywhere”.

The application in this framework can be developed using virtually any tool supporting web development. However, Adobe Systems integrated support for it in their flag editor called Dreamweaver. They provide also a scaffolding through a set of command line tools allowing for developers to create, configure and build projects for different platforms.

PhoneGap combined with jQuery Mobile or Sencha Touch becomes a powerful tool covering both functional and visual aspects of the development process.

Finally, Adobe offers the PhoneGap Build which is a cloud service that allows developers to quickly build mobile applications and easily compile them without SDKs, compilers and hardware.

Chalenges

The use of web-based technologies leads many PhoneGap applications to run slower than native applications with similar functionality. For that reason Adobe Systems warns that applications built using PhoneGap may be rejected by Apple for being too slow.

Developers have also to consider differences between platforms. “Develop once deploy everywhere” may simply not work for users as much as it works for developers. Simple example, often forgotten by the developers is “Back” button that is not required by Android yet necessary in iOS application. Analyzing UI guidelines for different platforms one can find more differences that have to be considered.

PhoneGap and Education

In education we have to deal with diverse environment and limited resources. Because of the philosophy “develop once deploy everywhere” we can reduce cost of development process. The cost of the entire enterprise is significantly lower than the cost of building two, three or more native applications. At the same time it is a little higher than building a native app for a single platform because some modifications for selected platforms may be required and access to the app store has to be paid for each platform.

With still growing interest in e-learning, there is a temptation to simply take the e-learning content and provide it to the mobile learners using technologies like PhoneGap. It has definitely low cost, however, in most cases the such content will not fit the mobile context. The mobile learning requires smaller “chunks” of the knowledge that can be assimilated in a short time. Simple conversion of the e- into m-learning content may not be possible and is not recommended.

Summary

Building applications for each device–iPhone, Android, Windows Mobile and more–requires different frameworks and languages. PhoneGap solves this by using standards-based web technologies to bridge web applications and mobile devices. It allows to reduce cost of development and simplify the development process. Covering all major mobile platforms it allows to address the problem of inclusion and consistency in the diversified educational environment.

As a closing remark we would like to repeat after Atley Hunter that “PhoneGap is only the first step”. If the project is successful, the application should be developed as a native application to improve user experience. This process should be started from the most popular platform.