When deciding on a mobile strategy for your company, one of the first important decisions you need to make is whether to use HTML5, build and maintain separate native apps, or build using a hybrid approach. Each approach has different benefits and drawbacks for key factors such as performance, security, maintainability and cost and the right approach to will heavily depend on your needs and priorities. Either way, being well informed before deciding on your strategy is critical and we've highlighted the key strengths and weaknesses of each platform that you need to consider in this article.
HTML5 - write once, works everywhere
- With HTML5 you can create rich, internet enabled content for mobile, web and desktop.
- It's cross platform and (using frameworks like Bootstrap) screen size agnostic - meaning you can get the solution developed once and it will work correctly on desktop, tablet and mobile seamlessly.
- It’s cheaper and faster to build with HTML5 than to build separate apps for iOS, Android and Windows Phone.
- As HTML5 is basically just an advanced website, it's also far easier to update and integrate with other parts of your marketing strategy.
- HTML5 is worth considering in enterprise where the ability to store data securely is important and installation can be managed by an IT team.
- It has also been used successfully but by a more limited number of consumer facing companies, the standard bearer of which is the Financial Times who have been repeatedly very optimistic about their experiences with HTML5.
- HTML5 Web applications can’t be added to the Android and Apple apps stores, and this is a complete blocker for many businesses. If you want to be in an app store, you will need to choose native or hybrid.
- HTML5 doesn't provide access to all the features of many devices and you won’t be able to display your app in full screen.
These two deficiencies alone rule out using HTML5 as an approach for many purposes, particularly consumer facing ones.
Going native: the popular choice
- A native app will always have full access to all of a device’s features – camera, geolocation, address book and eye tracking as well as partnered devices such as watches and other wearables.
- Native apps run more smoothly – so if speed (particularly in games) is important, native is also a better way to go.
- Native installs fully on your device, meaning you can be offline and still use them (particularly relevant when travelling).
- The ability to submit to app stores and generate visibility is crucial for many businesses.
- Unlike HTML5, where developers work from a base for all platforms, native apps need to be developed and maintained for each platform (iOS, Android, Windows phone) separately – this can lead to costs quickly mounting up.
- The app stores typically take 30% of revenues from every sale, and in the case of Apple, getting approval for your apps can take some time and is subject to their terms and conditions.
The third way - hybrid apps
Hybrid apps combine many of the benefits of both HTML5 and native by creating an app that displays HTML5 content as part of the app. Many large companies including Facebook, Twitter and LinkedIn have used this approach to great success. The benefits of mixing the two approaches include:
- The ability to get your app in the iOS and Android stores
- The ability to web content as part of full screen apps
- The ability to maintain control over your site and to update it easily (including eliminating the delays associated with submitting to the public app stores).
- Performance is limited by the slower speed of HTML5
- It requires a broader range of technical skills to develop and support
- You will still have go through the (Apple) app store approval process, and it may be more likely to be rejected as the app is just a wrapper for a website
- The price point comes somewhere in the middle between HTML5 and native
What we recommend
We chose HTML5 for the Fluid UI web app and hybrid for our mobile apps - the right choice for a tool where the focus is on creating value in business. We can easily save our user's prototypes in the cloud and display them on both the desktop and mobile at the same time. The drawbacks of our users needing to be online and the slower speed was easily offset by the fact that we were able to offer a solution for a wide range of platforms without being limited solely to Mac, Windows, iOS, Android etc. We are happy with decision and dont plan to change it.
If you are looking at a consumer product however, native will almost definitely be the better option, even if you have to release your app to different app stores at different times and have them developed separately. The speed and flexibility of native apps combined with the easier distribution platform of the app stores makes native a smarter choice.
Finally, we've also spoken to a great number of enterprise customers and hybrid is winning the battle there. The security benefits and manageability afforded by a simple app that loads a website with private access to a company's intranet are frequently deemed the most important factors. This is made easy by Apple and Android, who both provide solutions for setting up and managing your own enterprise app deployments outside the official app stores.