Mobile Apps: HTML5, Native or Both?
While HTML5 continues to earn support among mobile app developers, companies will likely use a mix of HTML5 and native development for the foreseeable future.
Last year was a good one for HTML5. The World Wide Web Consortium (WC3) gave the cross-platform application development language "recommendation" status, its highest level of endorsement. YouTube made HTML5 its default video delivery platform, signaling both its dissatisfaction with Flash and its support for HTML5. And operating system updates from both Apple and Android saw performance improvements for apps built with HTML5.
Still, some developers prefer to develop natively for mobile devices because native apps offer better graphics and better interaction with built-in device features like cameras and geolocation, among other performance pluses.
In addition to native apps and apps based on HTML5, a third option is a hybrid development approach in which apps are built using HTML5 and then wrapped inside a container that offers access to native features. Salesforce offers a good primer on its website, explaining the pros and cons of all three approaches.
Even apps that are ostensibly native often include some HTML5, wrote Matt Isay, vice president of mobile at Adobe, in a commentary for The Register. "The reality of 'native' app development today is that virtually all apps include at least some HTML, if only for web views. There’s just no such thing as a pure native app," he wrote.
"If you are developing on a single platform, you only have to worry about a single platform and not having to manage different multiple code bases and different branches of different languages," Sareen said.
It's a Fragmented World
Many clients of Sencha, a provider of application development tools and services including an HTML5-based framework called Ext JS, build a few native mobile applications before switching to HTML5, said Sencha CEO Art Landro. "You have massive fragmentation across OSes, browsers and devices, and they realize it is going to kill them from a development, test and support point of view to try to keep doing native apps."
Fragmentation is an especially big issue for companies developing apps that will be used by outside contractors, suppliers or other partners, Landro said. "Unlike your own employees, you really can't tell them which phone or tablet to use."
Unlike consumers, who frequently update their mobile devices, browsers and applications, enterprises must support older technology, Landro said.
Noting that Sencha still has contracts to support the Internet Explorer 7 browser, he said, "The modern browsers of today are the legacy browsers of the future. HTML5 and other permissive open source frameworks out there are a move in the direction of being able to more easily support them well into the future."
The improved vendor support for HTML5 and WC3 recommendation have "made enterprises sit up and take notice," Landro said. "They are beginning to see HTML5 as a technology they can invest in that will support long-lived mission-critical apps that need long-term support."
Mobile App Functionality
While acknowledging that HTML has made strides and is "slowly catching up to native applications," it still does not offer optimal end user experiences, said Eli Aleyner, Cloud Foundry and Mobile, for Pivotal Labs. Different browsers, operating systems and devices implement HTML5 somewhat differently, which leads developers to "code for the lowest common function set, which can result in poor application experiences."
The cost efficiency of HTML5 application is "often a fallacy," he added, pointing out that cost is only one element of determining ROI. "An application needs to be used in order for it to generate returns, so the experience the application offers to customers is key."
Pivotal Labs' position on HTML5 is that it can only be cost-effective when developing for three or more platforms, Aleyner said.
There is also a lag time in new functionality available to developers with HTML5, he said. "OS and browser manufacturers expose new functionality to HTML5-based applications slowly. This results in HTML5 applications being at least 18 months behind native applications in adopting new functionality."
Mobile Is More than Apps
Both Sareen and Aleyner said that HTML5 is the de facto development tool for mobile websites, which will remain a big part of enterprises' consumer mobile strategies for the foreseeable future.
While people now spend more time in applications than in the browser, "we are seeing a huge convergence in terms of what people are doing on the Web versus what they are doing natively," Sareen said. Enterprises should "make sure Web browsing is strong and coherent, even on a smartphone."
Mobile sites can play a role in the enterprise as well, Aleyner said. "Many users aren't interested in installing an app to complete a single task and expect the functionality to be available through the mobile Web. HTML5 is the most frequently used -- and the best choice -- when creating mobile websites."
Every enterprise may have a different answer to the question of when to develop mobile apps using HTML5 and when to develop natively, Sareen said – and the answer will change over time as companies tweak their mobile strategies.
"I think companies have to look at what do we expect our business to be doing in a mobile environment in the next five to 10 years and, based on that, what platforms do we expect to be supporting? From there, you can look at whether it is more cost beneficial and more resource beneficial to develop on HTML5 or to develop natively," he said.
Ann All is the editor of Enterprise Apps Today and eSecurity Planet. She has covered business and technology for more than a decade, writing about everything from business intelligence to virtualization.