Html5 vs Native

For the past two years I’ve been in charge of the development of the mobile version of the Jim2 Business Engine at Happen Business. I wanted to share some experiences we’ve had with going mobile.

Before we move on I think it’s important to understand it’s not just html5 vs native as there’s two types of html5 there’s html5 that’s embedded in a native app and there’s html5 that’s used via a browser. In iOS there’s actually a massive performance difference when using embedded html5.

Believing in the power of html5 and the promise of cross platform we spent the first nine months developing in html5, personally I have a soft spot for JavaScript and html so I was happy. The architecture was done using backbone, jquery and moutashe. We ended up with a working app that ran ok. The primary problem we ran into was even after intense optimisation the html5 app just didn’t run fast enough for the level of user experience we wanted. Second issue was the time spent in optimisation, truth is html5 is build once and optimize everywhere.

We ended up playing around with native applications, and found everything just worked and worked well. There’s quite a hard mental shift in developing native vs html as the way you create UI is very different. From that point on we been having a blast and we’ve come up with an app that’s provides an amazing user experience. It’s very challenging to put a rich business application onto a small touch screen but it can be done with some hard work.

That said there’s definitely some places for html5, if your a end user type website a mobile friendly website is essential. Even though you might go with a native app for user experience you must also consider that many users like to be in their browser, so having a mobile friendly website(in addition to native) is also important for user experience in this case.

Something else you need to consider, ‘is your app an essential part of a users day’? Then a native app is essential. As our users spend over 40 hours a week working we’re an essential part of the users life, so our choice was an app. But also on the roadmap we have a mobile friend website.

TLDR; avoid embedded html5 because of performance issues eg phonegap. If your a website have a mobile friendly version and maybe an app. If your critical function of a users life then a app is a must and a mobile friendly website is good to have.

FYI many companies that once went html5 have now gone back to native include us, Facebook and Xero.

Ps, if you take a look at Senchas response ‘html5 is ready’ to Facebook’s claim ‘html5 is not ready’ please understand its a bit misleading because the comparison is done in a safari browser and if it was embedded performance wouldn’t have been half as good.

 

1 Response

  1. Would be great to share more details on the switching process. Adoption? Developer reaction? Code reused? etc..etc… But… beyond this, personally I am big fan of multi-platform development on mobile. Being Xamarin user lately loving more and more multi-platform development. And HTML5 is not in my plans still!

Leave a Reply