The debate over native versus HTML5 often takes a deep technical dive. Ever since Mark Zuckerberg proclaimed choosing HTML5 for Facebook’s mobile app was the biggest strategic mistake for the company, proponents of each camp have argued the technical merits of each approach ad nauseam. To be fair, the debate has evolved, so it is now well recognized there is a place for both technologies. However, it is still not obvious when to use which.
Let me offer my perspective…
It is clear well-designed, fully native apps can provide a better user experience than HTML5 apps. HTML5 apps run in the browser, while their native counterparts run directly on the OS—closer to the metal—giving them a performance advantage.
(Related: Native vs. HTML5: Who will win?)
So why not go native all the time? Isn’t the user experience king? Even in the enterprise, given the “consumerization” trend, shouldn’t the employee payroll app be as slick as, say, Angry Birds?
No.
Too many IT organizations have fallen into this trap, and as a result, businesses cannot innovate fast enough. When we ask our enterprise customers what is the biggest problem they are facing with mobility, by far the most common response we hear is:
“Demand for mobile apps from the business units is far outstripping the capacity of our IT organization to deliver.”
Too many IT organizations have gone with the native approach, and as a result, have become a huge bottleneck for the business. These IT organizations are busy creating one or two sexy consumer-facing apps for the app store, while the backlog of badly needed business applications continues to grow.
Some large enterprises, especially those that market to consumers, will need slick-looking, million-dollar-budget apps to interact with customers.
For example, if you are Facebook or Nike and are looking to engage millions of users with your mobile app, go native! However, most large enterprises also have hundreds of business applications that have yet to be mobilized. These are often employee-facing apps that are critical to running the business, but are less visible than the million-dollar consumer-facing apps and therefore tend to get less attention from IT.#!Native app projects take too long to build and require constant updates across an ever-growing number of devices, resulting in critical business apps simply ending up on an always-growing backlog.
Native development requires much longer (development) cycles, larger budgets and specialized skills that are in short supply. And of course, each extra platform requires a separate project. If all apps had to be native, many apps would never get created because they would be too costly. The cost of building and maintaining them across all devices types would outweigh their benefit. In many such cases, the choice is not between HTML5 and native. When you figure the extra cost, required timeline and available skills, HTML5 may be the only viable option for many apps.
Using today’s modern mobile platforms, HTML5 apps can be built in weeks, not months, depending on the app of course; and they run across all devices, without having to invest in iOS, Android and/or Windows Phone separately.
Many such platforms also support the most commonly used native APIs via libraries such as Apache Cordova (a.k.a. PhoneGap). These “hybrid” apps are based on HTML5, behave like native apps, can be downloaded from an app store, and have access to device capabilities such as the camera and GPS. This hybrid approach represents the best of both worlds: the speed and device coverage of HTML5, plus the distribution and access to device capabilities of native apps.
The performance of HTML5 is getting better; with faster devices and faster JavaScript engines, the performance gap is shrinking. Of course, if you are developing a game that needs to move a lot of pixels on the screen really fast, you should go native—if you have the budget of course!
Hybrid applications can have a security drawback, however. With hybrid apps, the code is typically exposed to the client where hackers can look at it and discover vulnerabilities for a possible attack. Fortunately, some HTML5-based development platforms have already solved this problem at the enterprise level. The apps can run inside a secure cache protecting not only the code, but all the data as well.
In conclusion, IT departments should consider having both capabilities: native and HTML5. Go native for the big-budget apps that can wait months to get to market, and go with HTML5 or hybrid for everything else. This approach will remove the IT bottleneck and accelerate mobile innovation across the Enterprise.
Fima Katz is the president and CEO of Exadel, maker of Appery.io. Katz has more than 20 years of experience in the information technology industry, having held managerial and technical positions with major financial services companies, including Wells Fargo Bank, Concorde Solutions, and Bank of America (where he served as the Chief Architect of Internet Systems).