The introduction of the first iPhone has changed the internet forever with the introduction of mobile apps. Many people predicted in 2012 already that native apps (applications specifically written for iPhone or Android using Objective-C or Java) were soon to be extinct by a flood of HTML5 hybrid web applications. Until today, this hasn’t happend. Or has it?
Honestly, I am too inexperienced with either type of mobile applications, which is why I ha to do some research on who actually uses (hybrid) HTML5 apps these days.
- Amazon let’s you shop on the go with a hybrid app.
- Apple uses hybrid apps for the app store as well as iBooks
- Feedly is full HTML5.
- Gmail – you probably knew that one already, or did you really expect otherwise?
- Instagram is a hybrid app, regardless what you might read elsewhere.
- Khan Academy even went so far to hire the inventor of jQuery to make an outstanding hybrid app.
- Twitter has built a shell around their mobile site and calls it their mobile app.
- Uber leverages the power of HTML5 for ordering your ride. I think they’re built using Brunch.io.
- Zynga’s Mafia Wars, an online game for your phone is built using HTML5 technology
The list is far from complete, and many – particularly smaller – apps favor hybrid over a native approach. Why is that? Typically when people talk about mobile apps and why they should be native instead of HTML5-based three main arguments come up:
- The performance of native apps is much better than with HTML5.
- With HTML5 you can have full access to all functionality of the mobile device beyond what HTML5 can do.
- Unless you go native you have to deal with differences between the mobile browsers to ensure your app looks alike across platforms.
Now if you think it’s time to get started on your own mobile applications and you are still worried about the three arguments above, let’s see what we can do about it:
Argument #1 is supposedly taken care of by projects such as famous, which intend to bring 60fps (as in full performance) to any mobile device. Hence resulting in a native look-and-feel that is as responsive as you could expect from a native app.
An answer to the second argument can be found in using not only HTML5 inside a mobile browser windows, but instead utilizing the power of Cordova.
The third being very valid, but then again it does not matter whether you have to take care of 3 different types of native apps or the way 3 different devices render your onw application – there is still effort involved.
You can also read up on the actual differences on the Salesforce technical library – it contains some very good insight.