"I need to build a mobile app…where do I start? HELP!"
There is no shortage of confusion around the question of which path to take when targeting mobile devices. Entire white papers cover this topic and are still incomplete. With that in mind, my goal with this post is to provide, perhaps, a starting point. Getting answers is critical, of course - but knowing the questions to ask is the first step.
Let's start with the obvious question.
Perhaps the easiest to answer (though this isn't an exhaustive list - remember, just a starting point):
|Native|| || |
|Web|| || |
|Hybrid|| || |
So which one should you use? To quote the classic
This is an incredibly fascinating time to be in development. I think it's nearly impossible to overestimate the level of disruption we are currently witnessing – and not just the mobile & tablet disruption of the desktop market, but the disruption within
For more financial incentive, consider this: in the Developer Economics 2013 report, VisionMobile had 82% of the survey respondents indicate they were developing mobile apps to make money. Out of that group, 67% of them are below the "app poverty line" - making less than $500 per app, per month. Ouch.
This chart, from VisionMobile's Developer Economics 2013 report, provides a nice view into the selection
If you've answered "yes" to any of the questions above, and you are not critically dependent on device-differentiating features, then a hybrid approach is definitely worth looking at.
It's no secret - if you build
A Forrester report makes the recommendation that many companies should start with the web first, then move to hybrid applications. Of course, this really depends on your target audience, what kind of discoverability you want your site/app to have, whether or not you need offline capabilities, etc. The good news is that – if care is taken in how your web application code is structured – a large portion of it will be re-usable in your hybrid application. (In theory, nearly all of it could be re-usable, but even modertately complex applications will run into differing implementation needs in hybrid vs web scenarios.)
Just as there are trade-offs between native and hybrid approaches, web vs hybrid has them as well, as nicely described in this chart from VisionMobile's 2012 Cross Platform Developer Tools report:
We haven't even talked about the abandonment rates of each cross-platform tool, the statistics on the average number of cross-platform tools each developer will use this year (around 2), nor the ever-accelerating level of hardware capability in mobile and tablet devices. It's an area ripe for continued disruption and exciting advancements. Sure, hybrid development for native-niches, like high-performance games, lags behind what is currently possible with native implementations. However, the gap between hybrid & native for line-of-business, social media and other (more common) types of applications continues to narrow. When you combine all of the factors:
…the question isn't "why would you consider hybrid apps?", but "why wouldn't you consider" it?
Jim Cowart is an architect, developer, open source author, and overall web/hybrid mobile development geek. He is an active speaker and writer, with a passion for elevating developer knowledge of patterns and helpful frameworks.
Subscribe to be the first to get our expert-written articles and tutorials for developers!