HTML5 vs native apps: which kind of app is best?
You may have heard recently that Facebook and LinkedIn have both moved away from HTML5 – although the reasons behind the move don’t seem clear cut for either of the social media giants, they have both now committed to another kind of app: native apps.
But does it mean you shouldn’t consider HTML5 or any other technologies when deciding what kind of app to build? It’s a tough question and one that depends on your priorities and what you need from your app.
What is HTML5?
What matters to you
Based on our experience developing Fliplet we have found a number of factors are deemed very important to our customers. They are:
This refers to how quickly the app responds when a user does something. With an app built with pure HTML5 some tasks are extremely hard to make responsive. For example, getting screens to switch quickly on swipe.
An app that does not respond quickly to all actions often feels substandard. Apple, in particular, has done a great job of making their apps feel highly responsive therefore even a slight delay can make other apps feel slow.
The only method to overcome this weakness is to optimize your code and keep testing. There are solutions but often the effort can be as complicated as building a native app. Underestimating the complexity of producing a near native HTML5 experience is one of the biggest mistakes that is made so be careful to analyze this aspect carefully and be sure to not over or underestimate this step.
Speed of development
HTML5 is is based on common and well-understood technologies. It is quick to develop in and this is a key reason why it is so widely used. Finding developers who can build an app in HTML5 is a lot easier than finding those who can code in native languages.
In contrast native development is complicated, slow and requires in-depth knowledge of the platform. Games developers have little choice but to develop native apps for each platform due to the complex design of gaming apps. Thankfully most business apps aren’t nearly as complex and can decrease development time and cost through use of other technologies such as HTML5.
Speed of enhancement
Sorry to say but most apps aren’t that great when they first launch. There are exceptions but assuming your app won’t initially be perfect, it’s important that you have the ability to improve it through updates.
As already mentioned above, HTML5 has lower development times than the alternatives which means updates can be released earlier and development can become more responsive. It also means the maintenance costs of an app can be reduced to save money or leave money for new features.
Flexibility of device
HTML5 works on all devices in its basic form although complex integrations may require more research. In order to have an app on all devices you will either need to build your apps in HTML5 or have a team that knows and has experience with each platform and its programming language. Often multi-platform business apps are written in HTML5 in order to avoid producing multiple apps which may be why Facebook and LinkedIn initially used it.
Although testing isn’t simplified (as you still need to test on all devices) but the development process and ability to use code across all devices should reduce time and cost. It also means that, if well architected, one app can be used across multiple platforms which should also reduce maintenance cost and make updates easier.
HTML5 vs native: so what’s the answer?
HTML5 is better if you are working on a reduced budget and you want to an easy to maintain cross-device codebase. It is also the right solution if you don’t need to do complex data processing within the app as this is one of the key features that will be noticeably slower than a native app.
It’s also a good option if you have in-house knowledge that will allow for a high quality implementation – although it’s easier to find HTML5 developers than native app developers, it’s worth spending time finding the best you can as this will really get the most from your investment.
Alternatively you might want to consider investing in native apps (assuming you have the budget) if you want the best user experience possible on every platform or if you’re planning an app that will involve complex data processing or 3D animations. The other situation when you absolutely should go native is if you’re building a game app – HTML5 just won’t be able to cope!