Modern Mobility

Is HTML5 mobile development worthy of the hype?

oporkka - Fotolia

State of HTML5 mobile app development in the enterprise

Mobile app developers have programming options, including HTML5, but that's not the only one. There are other languages that they need to build strong web apps.

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.

As a front-end developer, Williamson builds responsive web apps that students can access on their desktops or mobile devices. But to do so, he uses a wider set of technologies, including JavaScript and Cascading Style Sheets (CSS). There are a few things developers can do with HTML5 mobile app development that mean they don't need to rely on JavaScript and CSS, Williamson says, but JavaScript is still required for much of the web development process.

"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

JavaScript is the base language of all web programming, so it's required for most text and image coding. CSS helps form the layout and presentation style -- color, font size, etc. -- of a webpage or app. Developers use HTML for web modules that require some kind of data input or output, such as forms or videos. It may sound more complex, but HTML is actually easier to learn than the more expansive code libraries of JavaScript and CSS.

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.

HTML5 is not the singular reason why folks are building web experiences for mobile.
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.

His department, the Office of University Relations Web Services, takes advantage of HTML5's Canvas tag, which allows developers to draw graphics on the fly using JavaScript. The tag let them add a signature feature to one of their mobile web apps without requiring support for Flash. Support for more browsers and increased performance for video streaming in HTML5 are also improvements over HTML4.

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.

Michael Facemire, Forrester Michael Facemire

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."

Instead, he added, it's advances in other areas -- such as expanded JavaScript libraries and better browsers -- that have brought an uptick in mobile web app development. Despite the limitations browsers bring when it comes to security, they've at least gotten a lot faster in recent years, which boosts performance, Williamson says.

"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.

Article 1 of 5

Next Steps

Get caught up with HTML5 app development

The ABCs of HTML5 mobile app dev

HTML5 gives Flash a run for its money

Dig Deeper on Mobile enterprise application development