martes, 23 de abril de 2013

PhoneGap


Program once, deploy to multiple platforms

One problem that comes with Smartphone’s application development is to decide which platforms to develop for. As we can see in the graph, nowadays the most extended Mobile Operating system is Android with 69% market share, followed by Apple iOS with 19%, Blackberry with 4% and Windows Phone with 3%. If you can’t afford to develop one native app for every platform, you have to choose the more important ones and, inevitably, lose users.

Mobile OS market share 2012. Source: IDC

PhoneGap is a framework that allows us to program using HTML5, CSS and Javascript and then deploy these web applications to any Mobile platform like a native application. Therefore, there is no need to program natively for every platform saving time and money.




HTML, CSS and Javascript are widespread languages that have been used for many years in web development. Now, we can take profit of the knowledge and experience of those developers to create mobile apps.

PhoneGap makes possible to access many device gadgets and features from a web application. You can access device accelerometer, camera, files, notifications, etc. using Javascript. (You can find all the information about PhoneGap API here: http://docs.phonegap.com/en/2.6.0/index.html). However, it has some limitations in front of a native application. PhoneGap API allows the use of some device features but it can’t take full advantage of all the device possibilities. Moreover, you depend on the mobile native browser to run the app and this could be troubling if you want to use some HTML5 features. For example, Websockets aren’t yet supported for all mobile browsers (If you want to know what browsers support any HTML feature visit http://caniuse.com).

To sum up, PhoneGap gives us the flexibility to develop for a widely range of mobile OS just using web languages. However, it can’t take profit of all device features and this makes this framework not suitable for developing some kind of applications.