HTML5 or Native – How About Both – and More?

When tasked with building a mobile app, people usually think native app, right? Well,  thanks to HTML5 and the power it brings to mobile development, it’s not such a straightforward question anymore. The good news is that you now have a third option.  In fact, now you can weigh your ROI against a native app, a purely HTML5 mobile web application and a hybrid app that combines the best of both worlds.

An HTML5 compatible browser, like the ones shipped on many smartphones and mobile devices can have the functionality and feel of many native applications. Because an HTML5 application is accessed via a browser, it’s also multi-platform compatible right out of the box – and that includes a pc browser as well as mobile devices of all platforms.  HTML5, the newest HTML standard, includes support for the latest multimedia and also includes standards for advanced scripting and API handling. Additionally, updates and distribution are easy to manage because the application itself resides on a remote server. All of these elements keep the development costs for HTML5 lower than other mobile application development options.

There are limitations to HTML5-based applications, however. Primarily, they require that users be connected to the internet (via Wi-Fi or 3G/4G connection) to use them. In the case of a mission-critical application, or applications for use in remote areas, this can be a fatal flaw. While a lack of a connection can also impact native apps, their access to the local hardware means that they can cache or archive data for use while offline. Also, in its current release, HTML5 struggles to provide a silky-smooth user interface and experience  – scrolling and rapid movement can be choppy and feel clunky.  Lastly, HTML5 apps do not have access to the built-in phone hardware like GPS, camera, Bluetooth, accelerometer, light sensors and even microphones.  None of these are available for use with straight HTML5 like they are for native apps.

Native apps do not suffer from any of these restrictions and are bound only by the limitations of the hardware and imagination. The downside that many people who are planning on building an application see is cost. Native apps can require a longer development cycle, especially if you are going for cross-platform compatibility. While it’s true that a native app can cost more to develop, there is some significant pay-back at the end – managed marketplaces. Android and iPhone have managed markets, with Blackberry nearly having a solution as well. These markets make it easy for users to find an application, and in the case of Apple’s app market, offer an assurance of quality and security that is very reassuring for potential users.

Are there any other options?

Fortunately, yes. The new  technique that is emerging is to wrap an HTML5 app in a ‘thin browser client’ that let’s you distribute an app the same way  as a native app. The idea is that the application is just an HTML5-compatible browser designed to display only a specific HTML5-based website. This doesn’t currently open your website to the hardware functionality of the phone, but it does allow you to distribute your app through the app stores while still retaining the many advantages of HTML5-based development.

Ultimately, there are clear differences and good reasons to choose any of the 3 approaches. Whether it’s the potentially reduced development costs and timeframe of a purely HTML5 app, the access to device-based features of a native app, or the blended advantages of a thin-browser hybrid, we now have more options.  It’s great to have options.