Native vs. Html5 – Why Native Won
George, 1 October 2012
Tagged with: HTML5, mobile app development, native
This evening’s Mobile Monday London witnessed the once-a-year battle between native and Html5 – a topic that comes up whenever mobile is discussed and that deserves enough time to play out the arguments.
This year, in a significant swing from last year’s equivalent debate, native came out on top. Why is that?
First, let’s summarise the key arguments:
- Native is better because it gives you access to a massive audience, especially if you are an unknown brand. I don’t really buy this argument because discovery within app stores is a challenge more than an advantage – the days of app stores acting as your key marketing channel are long gone
- Through app stores, native gives you access to easy payment mechanics. I think this true for many sectors (e.g. game publishing, subscription services), but not universal (retailers and established brands can happily cope without it)
- Html5 is better because it is open, not locked into any walled garden and at the mercy of the app store key holder. This is a complex point that would deserve its own essay. In summary, I would argue that even in industries like betting, that risk may be worth taking if the reward is a significant market share over the next couple of years
- Html5’s promise of build-once, deploy everywhere is a myth because users of different operating systems expect different experiences. I only buy this argument if businesses are launching Html5 apps that are pretending to be native apps; an Html5 app should look and behave like a smarter mobile site and needn’t comply with the platform UI
- Native apps will always give you finer control over the experience, deeper access to device APIs and better performance. I don’t think anyone would argue against that, but the question is always going to be whether they are worth the additional investment of building and managing multiple applications.
In summary, none of the points above would sway me one way or the other, unless my business relied on app store billing or the app required native performance and APIs.
What made me come off the fence and lean towards native can be summarised with one word that was mentioned today: fragmentation.
The strongest argument for Html5 – the one that fueled the hype – is the idea that you can build your app and get it running across all mobile devices. While there wasn’t enough time to play out the argument this evening, I think that our industry has realized that browser and operating system implementations create their own fragmentation, making Html5 more brittle than one would expect.
On the other hand, Apple and Google put a lot of work into helping native apps cope with different OS versions and screen resolutions. What’s more, developers who have been working across multiple platforms have evolved techniques to share more code between app versions, reducing the duplication of effort when supporting multiple platforms.
The result is that a well designed native iOS app, followed quickly by an Android version, deliver the best value for money across most segments.