Divining the Future of Mobile Development – PhoneGap v. Native App Development
May 16, 2011 8 Comments
As with operating in any quickly changing fields, developing apps in the mobile space presents both opportunities and significant challenges for agencies and clients alike. Though clear trends are emerging that point towards an expansion of cross-platform frameworks, the decision is by no means clear and obvious – there are pro’s and con’s to each approach.
Native App Development
The first clear decision to make is whether to develop apps separately for each individual mobile operating system, or whether to use a cross-platform framework aimed at permitting the reuse of code across different mobile operating systems. There are quite a few frameworks out there, which operating in different ways – a good overview is available from http://www.toolsjournal.com/tools-world/item/157-10-of-best-cross-platform-mobile-development-tools.
Regardless of the framework in question, there is a tradeoff to be made. By developing native apps, you get:
- Access to everything in the Operating System (OS)
- An interface that is more likely to match the expectations of the OS users (Android Users, for instance, don’t want their apps to look like iPhone apps)
- Performance can be optimised for the environment
So far so good, if you have an app that is guaranteed only for iOS and / or Android, and if you have time for the native development process. What if your app needs to be available at the same time on iOS / Android / Windows / Blackberry / Web OS and you need to release it in the next week to beat the competition to market? What if you don’t have the money to support internal teams or suppliers with an expert capacity to deliver natively in each of the platforms required?
PhoneGap
What your cross platform framework will deliver depends on the platform itself. Following evaluation of the specific needs of our clients, and in consideration of how to best compliment the skills of our team, we have chosen PhoneGap (http://www.phonegap.com/), for the following reasons:
- HTML5 based – can reuse web skills whilst also hooking into the undelrying OS
- Lots of momentum behind it – for instance, Adobe include native support for PhoneGap in DreamWeaver CS 5.5
- Clear signals from Apple that they won’t be outlawing the use of this particular platform later on down the line
- Easy to use with a big user community to ask, and lots of excellent documentation
By developing PhoneGap apps, you get:
- Ability to create your app for up to 6 mobile operating systems
- Rapid prototyping – build your prototype as an HTML5 web site, continually previewable within your target mobile platforms
- Reuse of code and design assets – don’t have to rewrite everything from scratch for each platform
- Reuse of existing skills – web skills are easier to find and less costly than native app development skills
- Easy deployment – you can use PhoneGaps submission service to allow you to build and distribute apps without having any of the mobile OS development software on your machine
Because PhoneGap apps run as standalone HTML5 apps within an invisible browser window, they do run the risk of feeling more like web sites and less like mobile apps unless implemented with sufficient care and attention. Perhaps the biggest question marks are over:
- Lack of interface “flow” – the directness of coupling between gesture and response that makes good smartphones such a joy to use – without careful attention, HTML5 based apps run the risk of feeling jerky
- User interface could easily feel inappropriate for the specific target platform, with insufficient use made of expected elements, such as tab bars
- Poor performance – particularly where functionality that makes lots of calls to the OS is used – such as geo location
- Patchy support for changing phone orientation, from portrait to landscape and back again
- CSS – potential compatibility issues on some devices
- Lack of access to some native functionality
- More cost effective for cross platform development
- Faster to market
- Easier to repurpose (e.g. for co-branding or white-labelling)
- Relies on less-costly less-specialist skills for implementation
- Better suited to existing work flows in design / technology agencies
- If you have the right budget, you get exactly what you want (if the OS permits it)
- Users will naturally see the kind of interface they expect
- Performance is likely to be better
Future TrendsAlthough I don’t have a personal crystal ball, I think it is clear that the mobile OS wars are not over yet by any means. If Gartner and other pundits are to be believed, over the next few years we will continue to see Android and iOS dominating, but with Microsoft/Nokia becoming a major smartphone player, and Blackberry retaining a significant market share. It is hard to say yet whether Web OS will really take off, despite the best efforts of HP.Most likely then we will be looking at a market with four or five major mobile OS platforms. With so many platforms in existence, I would say for any business or initiative that doesn’t have access to major budgets, but which requires reach across diverse audiences, cross-platform frameworks such as PhoneGap will prove an attractive development strategy.
Very interesting and informative piece Jon. iOS native apps have set the bar high, but I’m sure those with the talent and perseverance can compete using HTML5 as they hone their skills!
Very interesting indeed.
I think the future is with drag and drop tools like :
GameSalad
or
Game Creator http://www.djesh.com
As such both has its importance, but still if one wants to scan a bar code or wants to upload to a server, PhoneGap overload wouldn’t be significant.
Does it need to be on or the other?
Currently you have a number of IDE’s offering Phonegap/ jQuery integration.
Moreover there are a rising number of free and open source frameworks out there.
A british newcomer to this space is Application Craft http://applicationcraft.com
jQuerymobile has announced AC as a JQM dev platform and here’s a case study that Phonegap did on them : http://phonegap.com/case_study/phonegap-application-craft-pain-free-mobile-app-development/
In summary, it is a cloud-based dev platform that does mobile (all important platforms) and desktop on an equal footing. It’s got an IDE that does drag-and-drop / wysiwyg UI building as well as code editing. I guess you could describe it as Visual Basic in the Cloud, but Javascript not Basic. Widget based like VB was, extensible. Open Source with free platform offering.
I contemplate exactly why you named this blog, “Divining
the Future of Mobile Development – PhoneGap v.
Native App Development | ”. Anyway I actually adored the article!
Thanks for your time-Earlene
Very kind comments, thanks…sorry I didn’t get back to you more quickly
I really blog also and I am composing something
similar to this particular post, “Divining the Future of Mobile Development – PhoneGap v.
Native App Development ”. Do you mind in cases where Iemploy a number
of your personal concepts? Thanks for your time -Cory
Sorry about this – I haven’t been looking at my blog for a long time – go ahead and reuse concepts if you wish – thanks for asking.