This content is part of the Essential Guide: Guide to enterprise mobile app development and SOA

Essential Guide

Browse Sections
News Stay informed about the latest enterprise technology news and product updates.

Mobile developers agree: HTML5 and JavaScript apps fall short

An Embarcadero and Dimensional Research survey concludes that HTML5 and JavaScript apps still lacking when it comes to mobile development.

Though HTML5 and JavaScript are the standard programming languages for websites, they still leave something to be desired when it comes to mobile app development. A study conducted by Embarcadero and Dimensional Research concluded that 74% of its respondents -- 1,000+ Windows developers -- struggled to create mobile apps with HTML5 and JavaScript. Les Hazlewood, Java One speaker and CTO of Stormpath, explained, "If you want a fairly solid, lowest common denominator app, HTML5 and JavaScript is perfectly fine. There's nothing wrong with that. If you want to take it to the next level and use device specific features, you're going to have to write a native application. It's just the way things are."

There are many factors that contribute to the favorability of native apps, but Luis Weir, director of Oracle Solutions at HCL technologies, argued that the one that underlies them all is user expectation. The mobile app has become the benchmark of all user interfaces because of the strength of its user experience. This has made it particularly difficult to develop a consumable app with HTML5 and JavaScript. "Everything is compared to an app nowadays. It's so simple to use. The capabilities are so rich, that even HTML5 hasn't been able to match it." Not only have Android and iOS created a dynamic, sophisticated and visually appealing standard, but their devices evolve at such a rapid pace, that HTML5 and JavaScript simply cannot compete.

Why HTML5 and JavaScript fall short

It seems counterintuitive, somehow, to favor the more complicated approach. After all, HTML5 and JavaScript are a standard, ready-made, tried-and-true method. They operate cross-platform and most developers have experience with the code. According to Diane Hagglund, principal researcher at Dimensional Research, the very problem with HTML5 and JavaScript is their simplicity: "HTML5/JavaScript is designed to be pretty quick and dirty. It can do things pretty easily and it's a nice, easy way to get cross-platform but there is no library, no device management capabilities, no tools, none of the things that a native app gives." The reason for this is that HTML5 and JavaScript were never intended for platform-specific development. Hazlewood explained that HTML5 was originally created for browsers, so the transition to a mobile environment, where device features are very specific, has been a bit awkward. "It's not part of its specification to access device features, so if you have an HTML5/JavaScript application, you have to assume that you're operating in a Web browser environment."

It's a different world for Windows developers.
Diane HagglundDimensional Research principal researcher

Scott Lachance, software test engineer at Hayward Industries, was one of Embarcadero's survey respondents. He explained that, from a developer perspective, applications that required complex features needed to be native to capitalize on a particular device's functionality. "People want to get to the accelerometers. They want to get to the Wi-Fi radio and control that. They want to get to the Bluetooth radio, GPS information. You can get to that to a certain degree, but it's nothing like a native app." Once again, it comes down to user expectation. According to John Thomas, director of product management at Embarcadero, users expect the Web browser to be slower than the mobile app. "If you're using a browser and you click on a link, the typical user knows there's going to be some latency because something needs to happen in the background. There's a built-in latency expectation. But that doesn't exist on mobile devices." While native apps can respond instantaneously to user demands, "those that have developed with HTML and JavaScript have found that that performance expectation wasn't met -- not because it had to go out to the Internet and pull information, but because it goes through many software layers in order to deliver." IOS has set a bar that makes latency unacceptable. When users have habituated to a device that reacts spontaneously to the touch, they will settle for nothing less.

Looking to the future

So the verdict is in: Native applications are essential for quality user experience. An overwhelming 85% of survey respondents agreed on this point. But a problem remains. Only 17% of these same respondents believe they can deliver native mobile applications for two or more platforms -- at least not with today's technology, Weir specified. "[The native app] creates challenges, because each framework, like the iOS framework, has to be different." Not only that, but native development requires a skill set of enormous diversity and scope as well as tools and services that still aren't advanced enough to develop across platforms. Hagglund spoke to this issue: "The tools aren't there yet. When you combine the number of platforms for mobile applications with significant device limitations, form factor, user expectation -- it's a different world for Windows developers."

The good news is that demand breeds opportunity, and in the mobile app sphere there is certainly no shortage of demand. As Thomas pointed out, the reason why developers are struggling at all is because there are so many opportunities. "There's huge potential for making money and for delivering apps that people are going to use because there are just billions and billions of devices out there." When asked if HTML5 and JavaScript could become a mobile-development standard, once it had become sophisticated enough, Thomas was doubtful that a standard of any kind would be possible in the mobile space. The reality is that standardization is financially unfavorable for companies like Apple and Microsoft, who have more to gain from cross-platform incompatibility. "In terms of tooling, I don't think [Apple and Microsoft] need to consider a standard or have an interest in finding a common way for people to support both their operating systems. There's a business advantage for them to keep that somewhat proprietary." It seems the responsibility lies with the developers to navigate this new and challenging market. They will be the ones to step out of their coding comfort zones and acquire the skills that mobile apps demand.

Dig Deeper on Mobile app development