In just the past year, several trends have crystallized into a mobile Web platform that promises to transform mobile application development for the enterprise.
Today's powerful mobile browsers, many based on the open source Webkit engine, are now able to host a new breed of mobile Web applications, of which Google's major revision of Gmail for mobile, released earlier this year, is a good example. These applications can be stored locally, along with user and other data, run inside the browser, and even work without an Internet connection. Written in JavaScript, these applications can run up to five times faster than they could just a year ago, thanks to a new generation of powerful JavaScript engines.
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.”
Google and Palm are making use of the same technologies in their new operating systems, respectively Chrome OS and webOS.
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).
But even with these challenges, mobile developers are enthusiastic about the possibilities. “These emerging mobile browsers are on the cutting edge of the draft specifications for CSS3, HTML 5, and the latest JavaScript APIs,” says Ryan Seddon, senior front end Web developer with DTDigital, a Melbourne, Australia Web development firm, and an expert in CSS3. “Not only can we do more than what is possible on the desktop browsers [because we don't have to support legacy browsers, which really hold back on innovation], but these standards are giving us the tools to access greater functionality and create a seamless experience that rivals that of native applications. And it's only going to get better.”