Thursday, November 24, 2011

Native or Non Native?

     You know exactly what i'm talking about.
Every once in a while, could be at work, or with other friends from the industry, this guy is going on and on about how magical and easy to use and cross platform is HTML 5. And there we are.. me and all of you android JAVA developers, sometimes wondering if it's true.. will all apps in the future be written in HTML and JS under various nifty platform such as PhoneGap or Sencha touch or Appaccelarator's Titanium studio.. or other great platforms.

I find myself contemplating on that question from time to time, and to be honest - it's never a 100% native answer. let me explain why,
It's a true fact indeed that native application will be better in practically every way, for the following reasons:
  1. Better user experience, using the native controls of android. no lagging from browser..you are not dependent on browser version (supporting html5 specific apis or no)
  2. the ability to target specific devices (due to difference in screen resolutions , pixel density and input methods
  3. All devices sensors are available to us without effort (Gyroscope, Accelerometer, Compass, Camera etc..)
  4. if you (and you should) want to harness the full processing power for both graphics and calculations you must use the native approach, also being able to write code in C,C++ using NDK.
however, we can't bury our heads in the sand denying the fact that the world is heading fairly strong to web apps using HTML5 and JS.It's heading there pretty quickly but it's still not there, and in order to produce an app which will benefit from the full support of the android framework whilst offering the best possible user experience, Native is the answer.

should we all start learning HTML and JS? absolutely yes, because one day in the near future we are going to wake up and find ourselves lagging behind while all the heap HTML 5 kids are getting more popular in the world of mobile applications.