07 Jul 2014

HTML 5 vs. Native Apps; why neither wins

When it comes to software, the great question at the moment is a simple one; HTML 5, or Apps? The answer, however, is far more complex. Years after these debates started, they rage on, as neither technology is infallible nor ideal for every situation. This in turn makes things more challenging to figure out just which approach is the best for each given project. But consistent with any software development project is a good understanding of the respective technologies, the business use case and how the application will be used in the real world.

A survey late last year found that HTML 5 was slightly in the lead in terms of the percentage share of development work. The survey of 3,500 IT decision makers found that 41% develop purely within HTML, 32% in a hybrid environment, 19% ran a single native platform with HTML, and just 8% developed completely native apps all the time.

However, while HTML 5 is the default in many cases, there is still some resistance to the technology when it comes to developing apps specifically for enterprise environments. A full 43% of respondents in the same survey said they felt that HTML 5 won’t be enterprise-ready for at least a year, and 6% believe it won’t ever the right way to go.

So, let’s break down both options to see why they might be the right way to go for a project;

Why HTML 5?

The ability for HTML 5 to display rich media through a browser has made it a useful option for any developer that needs to take into account multiple platforms and devices. A well-designed HTML 5 site will work equally well on phones, tablets and laptops, without additional customisation on the part of the user.

In the past there has been difficulties with regards to the level of support that some browser brands would have with HTML 5, but the major browsers now feature fairly robust support for it, and so developers to have a degree of certainty that what they’re working on will function regardless of what device their user is on.

With that being said, HTML 5 apps perform better with a live Internet connection. HTML 5 apps can be designed to operate offline and store moderate amounts of data on the mobile device itself for later syncing, but they won’t perform as well as a native app with a rich on-device database. Something to consider when building your app for the road-warriors amongst us…

Why native apps?

Native apps enjoy numerous benefits over HTML 5 development. The user interface and extended functionality is the most immediate benefit for working with native apps. Unlike with HTML 5, when working with native apps developers are able to access device-specific technologies such as NFC, barcode readers, and cameras; features that can’t be accessed from a browser.

From the back end point of view, native apps can also utilise more storage/cache space for quick retrieval of elements in both online and offline states. In other words, native apps will generally work faster and operate more efficiently.

Finally, native apps can be built specifically to function without an Internet connection.

So what are the negatives? Native apps are limited to the platform they are developed on, which seriously limits the potential user base. The continually changing mobile device landscape, and personal preferences of mobile device platforms means that people are often carrying two or more mobile devices with different platforms. This means you’re very unlikely to please everyone with a native app, unless you go to the time and expense of developing and providing support for the app across multiple platforms.

What’s the best of both worlds?

This leads to the development platforms that allow you to develop once and then deploy across multiple platforms. Development platforms like PhoneGap from Adobe, Telerik, Xamarin and other emerging cross-platform tools allow development teams to build the smarts for an app once and then ‘skin’ it (change the user interface) for each target mobile platform. This hybrid approach delivers most of the speed and all the functionality of a native app with the rapid development and familiarity of HTML 5. From a business perspective this has a distinct advantage in that you avoid developing and maintaining the same App multiple time for multiple platforms.

And the winner is…

Neither! Despite the ongoing and somewhat academic debate about whether HTML 5 or native apps are the right way to go, in practice most developers will be working on a mix of both. “Hybrid app” environments offer the ability to develop once and deploy across multiple platforms, thus avoiding the time and expense of developing unique code for each platform. It’s often the best of both worlds, and allows the developer the greatest level of creative control over the project. But when it’s all said and done the decision needs to be based on a thorough understanding of the objectives and use cases for the app. Understand the end-user requirements first and then decide the technology.