HTML5 now rules the desktop, but shortcomings make it a hard sell for mobile

HTML5 is changing the game for both mobile and desktop developers, but that doesn't mean HTML5 is a panacea. Performance problems, a lack of tooling and missing features are causing a roadblock for some organizations, especially in the mobile space. Should you go with HTML5, or is a hybrid or native approach right for you?

HTML5 is growing in importance and will continue to be a dominant platform for many use cases for the foreseeable future. Enterprise architects need to consider weaving HTML5 capabilities into their application development tool chain, especially for browser based applications running within the enterprise and consumer facing applications accessed from a PC browser. Superseding Flash and Silverlight, HTML5 and CSS3 is now the de facto standard for providing rich multimedia functionality on desktop based web browsers.

It is also important to put the use of HTML5 for developing mobile applications into the appropriate context. HTML5 commonly refers to applications delivered via a browser, while native can refer to apps written in platform specific programming languages as well as hybrid apps composed of HTML5 coupled with client-specific libraries, as Al Hilwa, program director at IDC, explained. Hilwa recently published a report on The Evolving State of HTML5.

Some of these have not yet matured fully but have a lot of promise for improving communication between the web browser and the server.

Tyler Wassell, Software Development Manager

Tradeoffs abound for HTML5

Some enterprises, such as The Financial Times, actually see great benefit from leveraging a focus on HTML5 as a way of avoiding the tolls associated with app stores. Meanwhile other enterprises like Facebook and LinkedIn have been very vocal about shifting away from HTML5 development in order to provide more performant applications with the rich functionality that is only possible via native development approaches. 

Hilwa noted that HTML5 applications face challenges from inadequate developer tooling, developer skill immaturity, security, and weak browser implementations. But at the same time it provides many potential benefits such as allowing cross-platform deployment from a single code base, vendor support, and ecosystem traction including a diverse range of point tools, frameworks, and solutions.

Hilwa expects to see HTML5 making its biggest mark in specific categories such as internal employee applications that access enterprise resources. HTML5 is being used heavily on desktops today and mobile HTML5 is getting traction for casual games. In mobile applications, Hilwa expects to see the greatest use in hybrid approaches in which the same basic HTML5 code can be reused and combined with native libraries across platforms for better performance.

Challenges abound

The HTML5 platform itself faces many challenges, ranging from the lack of full standardization across browser implementations, immature developer tooling, performance impacts and feature support on native devices. Furthermore, the rich set of features required by modern apps delivered through HTMl5 depends on a mishmash of technologies that includes HTML5, CSS, JavaScript and WebRTC, each of which face their own developer tooling, implementation, and security issues.

On mobile platforms, many developers expect HTML5 functionality to be  woven together with components for accessing native device functionality using hybrid apps that blend HTML5 and native code libraries, such as Apache PhoneGap, a project that was contributed to the Apache Foundation by Adobe.

Gartner expects that by 2016, more than 50% of mobile applications will be hybrid. Gartner recommends that organizations evaluate development frameworks that allow them to develop native, hybrid, and web applications using the same code base. The enterprise should also consider consolidating development activities via cross platform frameworks, said Van Baker, Research Vice President at Gartner.This trend is reflected in developer job postings analyzed by indeed.com, a job listing service that has found that HTML5 experience is the fastest growing and most dominant keyword found in online job postings. It currently ranks as the number-1 keyword ahead of iOS (number-3) and Android (number-4).

Going mobile

However, when looking at mobile, pure HTML5 development is facing significant competition from competing approaches, including hybrid and native development, reports mobile development tool vendor Appcelerator, based on its latest survey of mobile application developers.

Michael King, Director of Enterprise Strategy at Appcelerator told SearchSOA, "We see lukewarm interest in HTML5 in general for mobile. If you are building a more mass market application or looking at something internal for users to accomplish mobilification of business processes, the reaction towards HTML5 has been poor. Mobile HTML5 developers run up against three key challenges around performance, security, and access to device sensors. With offline access, the HTML5 applications can only work with what has been cached in the browsers which presents limitations on what can be secured, and "you cannot cache application logic in most cases," said King.

Also there is limited access to native sensors and APIs that are not available with HTML5. The iPhone 5 has 6-sensors and the recent iOS comes with about 1500 APIs that are difficult to leverage with pure HTML5 applications. "What is the point of building an application if I cannot have a mapping application to route employees, or it doesn't have a performant application for insurance quoting," said King.

When reach is more important to performance

At the same time, King sees specific application categories where people are whole heartedly embracing HTML5. He is seeing growth in content consumption and form based applications for customer acquisition. But interactive applications, games, and mapping applications that require heavy device requirements are steering clear of HTML5. King explained, "When we talk to our developers, they love the idea and promise of HTML5 for being able to write applications for responsive Web applications that will work on the largest tablet to the smallest smartphone."

With forms based and simple customer acquisition applications some of the disadvantages of HTML5 are not noticeable. Forms don't need access to a lot of sensors and performance is not as big an issue. Customer acquisition apps don't need to go through the appstore, a lot of times they can be accessed from a link sent via email.

While King does seem some opportunities for leveraging HTML5 code across desktop and hybrid mobile apps, it is important to keep in mind the different use cases of these platforms. "The idea that I need an application that works on both desktop and smartphone does not take into account how people use these things. I would recommend building separate apps for desktop and mobile that respects the different workflows on those platforms."

New specifications extend the reach of HTML5

In contrast, other developers believe HTML5 is beginning to take a lead role in mobile application development. Tyler Wassell, Software Development Manager at mrc, a web application development software company, sees a growing interest in HTML5 over native. He explained, “HTML5 via new JavaScript APIs brings robust communication, web data storage, and file management capabilities to the browser and more importantly the mobile browser. Because of this I think we are seeing more and more mobile web applications replacing native mobile applications."

Wassell pointed to the growing interest in using JavaScript as the programming language of the web which can allow developers to take advantage of HTML5 capabilities. There is a lot of buzz right now around  full-stack JavaScript application development with NOSQL databases like MongoDB, Node.js as an application server, as well as an ever growing number of client-side JavaScript frameworks to render content in the browser like Angular.js, Ember.js, and Backbone.js. Said Wassel, "With regards to web application development, I see JavaScript/HTML5 continuing to grow and be dominant on the Web."

In addition improvements to core HTML5 capabilities and developer tooling are making HTML5 more useful for a growing range of applications. For example, Wassell has been seeing a demand for data-driven applications that will continue to work when an Internet connection is not available. To do this developers are turning to HTML5 application cache to store the applications resources. "Without HTML5 we couldn't do this," he said.

Other powerful HTML5 features like Web Sockets, Server Sent Events, and Web Messaging are also of much interest. Wassell said, "Some of these have not yet matured fully but have a lot of promise for improving communication between the web browser and the server which will bring about a more native mobile application experience like  push notifications."

In the long run, IDC's Hilwa expects to see HTML5 and native mobile applications to coexist with neither replacing the other. Be native application platforms will remain the primary way that mobile applications will be delivered.

How are you leveraging HTML5 in your mobile applications? Let us know.

Dig Deeper on Software development best practices and processes