In just the past year, several trends have crystallized into a mobile Web platform that promises to transform mobile application development for the enterprise.
They offer a degree of interactivity and richness not possible before. And, at least in theory, such applications could run with any of the modern browsers that also support the latest relevant standards, such as HTML 5 and Cascading Style Sheets (CSS) 3.
"If you look at browser innovation over the last 12 months, there's been an unprecedented acceleration," says Matt Waddell, chief of staff for Mobile and Developer Products at Google. One area of innovation is the growing adoption of parts of the still-emerging HTML 5 spec. "[HTML 5] represents a brand new set of browser functionality, to enable an entirely new set of Web applications."
For enterprise IT, this transformation means faster, simpler development of mobile Web applications that now mimic many of the characteristics of native applications, which are written for and compiled to a specific underlying operating system. The new Web applications, though using the same basic tools as Web widgets and browser extensions, are more sophisticated than both, and much simpler to create than traditional plug-ins written in C or C++.
The tools and skills needed for this new generation of mobile applications are those already in use by numerous Web developers. "If you're going to write an app for a mobile platform in C or Java or Objective C, you have to get an SDK, and hire developers who know these platforms," says Chris Blizzard, director of evangelism, developer relations, at Mozilla, the creator of the Firefox and now Firefox for Mobile (Fennec) Web browsers. "But if you're developing for the Web, you can take advantage of a huge number of [publicly available] libraries that make Web development much easier. The communities around these are gigantic. And the Web is entirely [open-]source based: I can look inside and see how the application works. I can take advantage of that knowledge."
But there are tradeoffs.
One is that the very openness lauded by Blizzard is a potential stumbling block if you need or want to protect some intellectual property.
Another is that mobile browsers pose the same kind of security challenges as desktop browsers. Still another is that performance differences with native applications persist. That can be showstopper depending on what you need the application to do.
Also, browser applications typically can't reach outside to access specific device features or underlying OS services, though that is changing. "There is some ongoing work to standardize some interfaces, to access things like underlying network [services], address books, being able to make phone calls, and geolocation" data, Blizzard says.
Another issue is that Web standards are changing and support for them is inconsistent. Sophisticated mobile Web applications may run afoul of Web sites that don't support HTML 5, for example. Likewise, you may end up tuning an application, a lot, to ensure cross-browser compatibility (though this is less of an issue if you mandate a standard mobile platform).