Hybrid or Native?

In their recent Developer Economics 2012 report, VisionMobile calls out (on page 29) the question of Hybrid or Native. What is the right technology choice when considering the development of a new application? Which is better, HTML5 (mobile web or hybrid) applications, or native applications. Clearly each have their advantages and disadvantages, right? According to VisionMobile, this is the wrong question.
In the report, VisionMobile identifies three decision criteria that must be evaluated in order to make the choice between HTML and native.

  1. Existing assets: Which languages does your development team know? What languages are your legacy content assets coded in?
  2. Depth vs. breadth of experience: Do you need to deliver deep experiences and code directly to the platform? Or is breadth of experience more important, which would lead you to leverage cross-platform tools/hybrid solutions?
  3. Distribution channel and monetization: Are you a major brand with existing customer accounts, or do you need app stores to reach and bill customers.

Personally I like the way VisionMobile looks at this decision tree. The fact is, there is no universal truth – hybrid is not always better than native and native is not always better than hybrid. The technology decision has to be made while considering all of these factors.

Recently I was at a technology trade show where we were demo’ing Icenium non-stop for several days. Every demo I did I would ask the person I was speaking with about their interest in mobile app development and their background. My anecdotal findings are that the majority of the people I engaged with were coming from a web development background and either approaching mobile because of the opportunity it provides (reaching millions of people) or because they are being directed to by their boss (e.g. how can they mobilize their existing web assets). In either case, the person I was speaking with and the development team they were representing had existing skills in HTML and JavaScript, and were somewhat intimidated by Objective-C and Java (or at least frustrated that they were going to have to learn anther set of skills to solve this problem).

In either case, if these people used the decision tree presented by VisionMobile, in many of their cases they would choose Hybrid as the right solution for them – the have skills and content assets in HTML & JavaScript (#1), in almost all cases they were looking for a breadth experience over a depth experience (#2), and either wanted in-house enterprise distribution or AppStore distribution.

The fact of the matter is that Hybrid apps are a perfectly good technology choice in many cases (possibly more so than native). They are easily approachable because they use languages and technologies that the majority of developers are familiar with, which drives down the cost of development, and they can reach multiple platforms with a relatively low cost of development per platform (another huge plus for the people I spoke with).

Hybrid apps may not be the right technology choice all of the time….but I am betting hybrid is the best choice 80% of the time. What do you think?