HML5 or Native for Mobile

We are in an interesting time.  A tweener.

Native is when you build your mobile app using Objective C (IOS) or Java (Android) or Visual Studio (Microsoft).  HTML5 is when you build a wrapper for your app in native code, but all of the functionality is built using HTML, CSS and JavaScript (a.k.a. HTML5).

The benefits of native are that you get the highest performance capabilities.  You can use all of the devices capabilities like the accelerometer, camera, location and storage.  Most apps are built this way.

The down side, first and foremost, is that any code you write for one platform is generally useless on other platforms.  So you will need to build the app multiple times, assuming you want to support Android, Microsoft and IOS.

It is debateable how “difficult” native code is versus HTML5.  I’ll leave that argument out.

This can be “roll your own” or using a framework like Sencha Touch.  The benefits here are that you can reuse code.  Javascript works fairly well cross-platform.  The negative rap on HTML5 is that you may have performance limitations.

The Future
To my eye, it seems that HTML5 is getting better, faster and more powerful.  The future is HTML5.  The problem is that I need to build my app now, not in the future.  Should I use HTML5 because that is where the puck is going? or use native because that is where the puck is now.  How long does a mobile app last before it is replaced?

We are in a tweener time where the old is still powerful, but the new is on the rise.  This is the most annoying of times to build something. The good news is that mobile apps don’t last more than a few years.  We aren’t building the great pyramids in Egypt, meant to last a millenia.

Interestingly, many consumer apps have been going native.  I am not sure this is a good idea, but it’s happening.  I’d lean towards HTML5 personally.

We are truly cursed to be developing code in interesting times.

4 thoughts on “HML5 or Native for Mobile”