PhoneGap or native apps? Comparison. Possibilities. Perspectives.

What is PhoneGap?

PhoneGap is an offline “package” for internet application, using browser based on WebKit engine and additional libraries for native application. More details on PhoneGap's official website.

Comparison: PhoneGap vs native apps

As we already now, thanks to PhoneGap framework we can write web application in HTML5 and JavaScript and put it inside a mobile platform. PhoneGap, thanks to JavaScript libraries, provides support and access to smartphone’s native features. Fuller comparison and juxtaposition of pros and cons in table below:

PhoneGap (HTML5)Native application(-) slower and less efficient than native apps(+) with native app, from the development perspective, it is possible to do virtually everything with a smartphone, in case HTML5 it is possible to do only as much as HTML5 and specific browser on particular device allows (not all fully support all features available in that standard)(-) easy to copy (widely available source code)(+) in theory works better in big applications using lots of functions (e.g. smoother animations and transitions with native code. Portals with a lot of content.)(+) lack of necessity to write under separate systems – Android, iPhone, Windows Phone(+) based on research, users prefer native applications on dedicated UI(+) there are already companies in Poland “lobbying” for PhoneGap usage. It is used among others by: Allegro, Facebook, Onet or nk.pl.(-) maintenance and updates of native apps will be more expensive for a customer(+) opensource (+) no limits in JS and possibility to use external libraries like jQueryMobile, BackBone etc. (+) PhoneGap gives access to accelerometer (a motion sensor), contacts stored in the phone, hardware geolocation with GPS usage, files in internal memory, camera, vibrate notifications or touch events. This virtually covers most of the common hardware features used by native apps. (+) applications development in PhoneGap requires only HTML and JS knowledge (-) when for example Apple releases new functionality in latest OS version, it is necessary to wait for it in PhoneGap (-) it suits better for business applications (forms, data browsing, etc.) than e.g. for games (-) by default it lacks native applications’ look (native controls). As a result drop down lists and other fields look exactly the same as in the browser, not as in native apps (there are plugins though) (+) faster testing (multiplatform). We can launch application in the browsers and debug it for example using FireBug. (-) JavaScript is not hardware supported on iPhone (CSS is)

Summary and conclusions

In Poland there are still only few information sources or cases regarding applications built in PhoneGap. Plenty of trade sources just start to become familiar with the subject. Polish companies experiment with PhoneGap (e.g. Interia, Onet or Symetria). From the more recognizable brands, Wikipedia and Netflix applications are made on PhoneGap. App Store accepts PhoneGap’s applications but in the time perspective it seems that Apple will be interested more in iOS developers’ position consolidation, what is related with distribution channel control instead of opening applications’ market for HTML5, which can be virtually done by all web developers knowing HTML and JavaScript. Both Google and Apple will be keen to control and close those ecosystems. Currently PhoneGap is most popular tool of that kind. Adobe stands behind it.

For the further development and popularization of PhoneGap it is important to have fully working plugins, e.g. those responsible for native controls in various systems (this is is still developed by Adobe). It is worth to remember that application creation won’t always be the most optimal decision. Watching on rapid growth of responsive web design trend (which is based on the extension of CSS, JS and HTML technologies), very often role of native application can be taken by optimized, responsive website. Decision regarding building or not web application (and in which technology) should be preceded by deep analysis what exactly application should do, who will use it and in what purpose. Then it is necessary to pick one of the following options: responsive website vs PhoneGap vs native application.

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .