As enterprises put HTML5 to work within their mobile development efforts, some are finding the standard isn't quite the silver bullet for cross-platform development as it was touted to be early on by industry prognosticators. Part of the problem, experts say, is that enterprises may be trying to shoehorn HTML5 in to every mobile development use case.
"There are many, but not all, potential application types that are very compatible with HTML5. It comes down to whether the particular application makes sense for HTML5 or whether the application's features/use cases require native," says John Wargo, senior director of mobile solution management and developer experience at SAP. "When you fail in making that determination, that's when HTML5 falls down."
Network Computing talked to developers and mobile experts to get the scoop on when HTML5 can best serve the enterprise—and when to go native. Here's their verdict.
Use Case #1: You Need Lightweight Apps
If you need to push out simple functionality for things like directory look-ups, parts look-ups, knowledge base access, catalogs and simple workflows, HTML5 is likely the best means to making that available to all of your mobile users, Wargo says. As he explains, a lightweight app "that that simply doesn't need the performance, device integration or robustness of a native application" is a perfect candidate for HTML5. It's why so many newspapers are rolling out their apps using HTML5—the New York Times released one such iPad app last fall.
Organizations planning to deploy apps with frequent update cycles may be wary of how long it takes for users to push upgrades to their phone. HTML5 offers a big advantage in that arena, says Judith Rohatiner, front end web developer for Mendix, an app development platform company. "HTML5 allows for centralized deployment and updates that are available instantly," she says.
HTML5 is ideal when organizations have to deliver an application for a wide range of mobile devices when they've got limited time and budget to make it happen, says SAP's Wargo. "There's no reason you can't replace the web application with native applications later, if need be.”
According to App Dev in the Age of Mobility from InformationWeek Reports, 64 percent of business technology professionals rate cross-platform support as critical or important.
HTML5 doesn't necessarily have to be clunky. According to Richard Mendis, CMO of AnyPresence, a mobile platform-as-a-service vendor, plenty of companies create native app wrappers for primarily HTML5-based apps. It's the Frankenstein approach, one that even LinkedIn is taking advantage of, Mendis says, explaining that it's how the social media company's iOS application operates.
"The developers did a great job of leveraging the capabilities of HTML5 that are well-supported today, and intricately merging the HTML5 pages within native iOS code," he says. "This isn't easy to do, but when done well, the user can't tell, and doesn't really need to know, what the underlying technology is."
Sometimes you can plan on replacing HTML5 apps later, by using Web-based mobile apps as a proving ground for a particular app that would cost a lot to push native right off the bat.
"Designing a mobile application for the enterprise sector requires a significant amount of UX planning, reviewing, and testing, especially if the app is bringing functionality to a mobile device that users are already familiar with via the enterprise's large scale applications," says Lorinda Brandon, director of solutions strategy at SmartBear, a vendor specializing in code testing and website monitoring software.
It's much easier to develop a proof-of-concept app on the HTML5 framework prior to investing in native app development because, as this chart shows, business technology pros noted that browser-based mobile apps are easier and faster to develop and deploy.
Use HTML5 "when you need to mobile a process or back-end system and simply don't have the native development skills or budget to go native," SAP’s Wargo says. Back-of-the-house enterprise functions need to work, but they don't necessarily need the slick branding and polished image required of consumer apps. This compromise in look and feel lets organizations quickly deliver these functions across the user base without getting bogged down by a lack of internal talent for native app development. This could be huge for the 33 percent of organizations that told InformationWeek Reports they don't develop custom mobile applications due to skills deficiencies.
"The mobile web application can continue to accommodate mobile users who are on a mobile device platform that doesn't have a large enough audience to support development of a native application," Wargo says. Mobile Web apps can be a big plus when an organization's user device predilections are about as fragmented as those in the market at large. For instance, if a vice president happens to love his or her BlackBerry Playbook (pictured above), and wants access to corporate apps, then HTML5 may be the best option.
Apps that need to take advantage of on-device resources like the phone or the accelerometer should be short-listed for native app development, notes Michael King, director of enterprise strategy for Appcelerator, a mobile development platform company.
"HTML5 apps are great when you don't need a lot of interactivity with the device," he says. "But I think any of your interactive apps are still going to need to be native for the foreseeable future." In the same vein, enterprises that want to fully control configuration and data flows may also want to go native within sensitive apps.
Native apps are written with tools provided by the platform vendor, explains Ben DuPont in the InformationWeek Reports piece, 5 Options for Mobile App Development.
"They provide the highest level of integration as the developer has direct access to the GUI toolkit and any other features offered by the platform," he says. "This allows native apps to feel like they're part of the mobile device, and they have the highest level of performance."
Reduced performance isn't the only hit you'll take by using HTML5. There's also the matter of offering application support when the user doesn't have wireless access. Approximately 70 percent of business technology leaders told InformationWeek Reports that native mobile apps offer the best approach to provide offline functionality within an app.