oporkka - Fotolia
- Alyssa Provazza, Editorial Director
The onset of HTML5 mobile app development changed the way developers approach the process, but HTML5 is not the only game in town.
Allen Williamson spends his days developing web apps for the University of Massachusetts Lowell, but -- perhaps surprisingly -- HTML5 isn't a huge part of that job.
"It's absolutely necessary to use HTML5," Williamson says. "It's just not a huge part of the development process."
HTML5 refers to both the latest update to the HTML programming language itself and to all of the tool sets and features that allow developers to build apps for the web. It has garnered a lot of attention in the last two years because it marks the biggest changes to HTML in terms of supporting mobile devices. But despite strong adoption of the language, overall advancements in web technology -- not HTML5 itself -- are driving interest in web app development.
What's in HTML5
The Web Hypertext Application Technology Working Group began work on HTML5 in 2004 and released the draft for developers to start using in 2008. The World Wide Web Consortium published the finalized language in 2014.
HTML5 is specifically designed to render more modern-looking websites and for the lower power of smartphone and tablet screens. It improved on the webpage structure codes available for document and added more APIs to help developers create more complex websites with app-like interfaces. In addition, the language provides better support for multimedia, an element of web apps that has grown over the last few years as businesses modernize.
Michael FacemireForrester Research
For mobile web apps, HTML5 includes code tags that make it easier to specify where on a page to put something. That's useful for HTML5 mobile app development because applications with those tags can better handle different browser sizes or changes in browser orientation, such as when users turn their smartphones horizontally.
"Everything that we do needs to be mobile … so we consider screen size and how [users] are going to interact with it," Williamson says.
Web app trade-offs
Web apps are very common today in the enterprise, with 54% of developers spending at least a portion of their time writing HTML and CSS, says Michael Facemire, principal analyst at Forrester Research in Cambridge, Mass. That's because developers can build a single web app for multiple mobile devices and operating systems -- creating the popular party line "build once, deploy anywhere."
"For all the different devices that enterprises have to support their employees using or their business partners using, it's becoming harder to dictate that they only use a certain kind of device," Facemire says.
It can be costly to limit an organization to native apps that are tailored to a single device type or OS. Porting an app to a OS increases the cost of the app by 50% to 70%, according to Forrester.
54% of developers spend at least a portion of their time writing HTML and CSS.
Source: Forrester Research
Plus, web apps offer some security benefits over native mobile apps. Most of the data users access is not stored locally within the mobile app or on the device, making it more difficult for a breach to occur. The Web Storage standard, a plug-in in HTML5, only stores information such as configuration data or the last page a user visited -- never usernames, passwords or other user-provided data.
"With web apps, you generally aren't leaving a lot of data behind," Facemire says.
Still, it can be tricky for IT departments to protect HTML5 apps because they are basically only as secure as the browser -- an element that IT has less control over, says Vinay Raja, director of technology at Boston Technology Corporation, a software development firm in Marlborough, Mass. Native apps, on the other hand, allow developers to build in custom security features such as app- or file-level encryption and let IT control them through third-party tools, such as enterprise mobility management software.
Functionality can also suffer when it comes to HTML5 apps.
"Everything depends on how the browser performs," Raja says. "That's the major issue we face regarding the performance and the functionality."
The capabilities of the browser and operating system dictate what an HTML5 app can do, especially in terms of supporting device features such as the camera. Developers might build camera functionality into an app, but then a user's specific browser might require an extra plug-in for them to access that feature, making it cumbersome -- or impossible, based on the OS -- to use.
"You're limited by the support of the hardware, the native side of it," Raja says. "You try to exploit that to achieve whatever the app requires."
The state of HTML5 mobile app development
Despite HTML5 becoming more popular in the past few years, the updated language itself is not what's pushing developers to build web apps for mobile, Facemire says.
"HTML5 is not the singular reason why folks are building web experiences for mobile," he says. "It's not the major thing moving the needle. You're not going to see a massive adoption later this year or sometime next year."
"There's not that much to be gained by doing a native app," he says. "With progressive web apps, there's a lot more we have access to on the device from the web."
Any developer working with web apps today is familiar with HTML5, so these skills are not especially more marketable than general web app development. It's better to have an understanding of which browsers and mobile platforms support which features within the HTML code, Facemire says.
Still, "even native developers are trying to learn these skills," Raja says. "It's good to have experience with both [native and web]."
In fact, it's key to understand the nuances of web and native apps because many organizations can benefit from hybrid apps, Raja says. Developers write those apps with HTML5 and CSS, but users access them through app stores or from their devices' home screens rather than a browser. Hybrid apps appear on the device like a native app, so they can access native device features, yet they live on the web on the back end. That's the best of both worlds, Raja says.
This article originally appeared in the October issue of the Modern Mobility e-zine.
Get caught up with HTML5 app development
The ABCs of HTML5 mobile app dev
HTML5 gives Flash a run for its money