When a programmer starts looking at mobile application development, one of the first questions that comes to mind is whether to go native versus Web technology.
Although Objective-C is key for building native iOS apps, Java for Android and BlackBerry, and C# and Visual Studio tools for Windows Phone, the opportunity to build mobile apps with Web-standard technologies is making many developers think about the Web as a first option. HTML5 and JavaScript have essentially changed the game.
Indeed, Forrester Research issued a January 2012 report on the subject, titled “Building Mobile Apps? Start With Web; Move to Hybrid.” In the report, Forrester identifies not two optionsnative versus Webbut four: native, hybrid (native code with HTML and JavaScript), mobile middleware platforms, and a straight Web technologies approach with HTML5 and JavaScript.
“I don’t think there is going to be a clear winner in the native versus Web debate, but different workloads will trend toward one technology or the other,” Jeffrey Hammond, the principal author of the Forrester report, told eWEEK. “For example, I still see most customer-facing apps written in native code, but I’m also seeing a lot of B2E [business-to-employee] apps written with a hybrid style or on top of middleware. Likewise, device-centric workloads tend toward native code, while multichannel services (e.g. social networking, content) are moving toward Web and a hybrid style.”
“With the gap between native and Web shrinking dramatically, applications that share a common, Web-standards-based code base are appealing and also a very real option,” said Dylan Schiemann, CEO of SitePen and co-creator of the Dojo Toolkit JavaScript library. “Creating apps for each native platform, as well as the desktop Web, all with disparate technologies, is not my idea of fun, especially now that we are equipped with HTML5 and open-Web technologies like Dojo Mobile, Wink Toolkit, Maqetta and PhoneGap to create extraordinary mobile application experiences. By clearly separating data from user experience, it’s possible to more efficiently create applications that target the platforms of today and tomorrow.”
On the one hand, you get faster code execution with native code versus JavaScript. However, Web apps cost less to port to multiple platforms. Also, Web apps are easy to change and give developers more control over their content.
Plus, it’s easier to find developers skilled in Web technologies rather than in native code. And the Web-standard technologies tend to be less of an intellectual property risk, potentially limiting exposure to lawsuits, the Forrester report said.
Pushing Web Technology
Perhaps the most recent example of a major player pushing Web technology as the way to go for mobile development is Mozilla, which on Feb. 23 announced that the Mozilla Marketplace would open for developers to submit Web apps at the Mobile World Congress in Barcelona, Spain. By building on open-Web technologies like HTML5 and Mozilla-proposed APIs, the Mozilla Marketplace will enable developers to write one app that runs across devices and platforms. As part of its mission to keep the Web open and put people in control of their Web experience, Mozilla is enabling users to buy apps once and use them on any HTML5-enabled device.
“We are enabling the Web to be the marketplace, giving developers the opportunity to play on the biggest playing field imaginable,” said Todd Simpson, Mozilla’s chief of innovation, in a statement. “By building the missing pieces, Mozilla is now unlocking the potential of the Web to be the platform for creating and consuming content everywhere.”
In addition, Mozilla indicated it is working on a smartphone that will run apps on the phone’s browser. These smartphone plans are tied to the company’s “Boot to Gecko” project, which is an effort to create a Web-based mobile operating system. Mozilla’s plans would mean that developers adept in standard Web technologies such as JavaScript and HTML5 would be equipped to build apps for the Mozilla phone.
However, regarding Mozilla’s plans, Forrester’s Hammond said, “They are competing for airtime in a very busy market; I’m not sure how successful they will be in getting it.”
Yet, “With Mozilla’s mobile OS moving forward, it reaffirms that the best option for developers is to have a vast array of choice, from purely native to hybrid Web/native to pure Web solutions,” SitePen’s Schiemann said. “With this variety, developers will need to sort through those choices and decide what will help them most effectively deliver high-quality apps and sites for their users that will be manageable now and sustainable over time.”
HTML5: On Developers Minds
Meanwhile, HTML5 seems to be on the minds of developers worldwide. An Evans Data survey of more than 1,200 developers conducted worldwide in November and December 2011 showed use of HTML5 at 43 percent in North America; 39 percent in the Europe, Middle East and Africa (EMEA) region; and an even greater 58 percent in the Asia Pacific (APAC) region. Adding in planned use brought the totals to over three-quarters across the regions.
“There isn’t any question about the adoption of HTML5; it’s already the de facto standard,” said Janel Garvin, CEO of Evans Data, in a statement. “There is special strength in HTML5 for mobile and cross-platform mobile apps, which is the direction the industry is moving for client devices, and that has made it extremely attractive to developers everywhere in the world.”
An Appcelerator survey marking development trends in the fourth quarter of 2011 indicated that 66 percent of developers surveyed said they are interested in building HTML5 mobile Websites. Appcelerator offers a mobile platform that provides an integrated native, hybrid and HTML5 Web application solution.
Of the major vendors, Adobe and Microsoft have been the most aggressive in pushing an HTML5 focus. Adobe acquired Nitobi for its PhoneGap HTML5 application platform, which will accelerate the company’s Web-standards strategy and will run in parallel with its strategy to continue to evolve and innovate around the Flash platform and Adobe AIR.
In a Nov. 9 blog post, Danny Winokur, vice president and general manager of interactive development at Adobe, said: “HTML5 is now universally supported on major mobile devices, in some cases exclusively. This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms. We are excited about this, and will continue our work with key players in the HTML community, including Google, Apple, Microsoft and RIM, to drive HTML5 innovation they can use to advance their mobile browsers.”
Walter Luh, CEO and co-founder of Ansca and former lead architect of Flash Lite at Adobe, told eWEEK: “It’s pretty clear that Adobe was becoming increasingly irrelevant in the mobile space. Flash just wasn’t getting traction. So they had to do something. That something was embracing HTML5.”
Microsoft Supports PhoneGap
Microsoft, which continues to evolve its Windows Phone developer strategy, also is supporting PhoneGap and HTML5 for mobile development. PhoneGap is an HTML5 app platform that enables developers to write native applications with Web technologies and get access to APIs and app stores.
In a blog post from September, Jean-Christophe Cimetiere, a senior technical evangelist for interoperability on the Windows Phone team at Microsoft, said, “We’re very excited to join Nitobi to announce availability of a PhoneGap beta supporting Windows Phone Mango. This new option to build applications targeting Windows Phone gives more choices to developers. In particular, Web developers will be able to easily leverage their HTML5 skills to target Windows Phone.”
Microsoft made a commitment to provide developers with a platform that would allow them to take advantage of existing skills and technologies to quickly build apps. The company remains committed to that strategy as it evolves its developer platform to be known as the Windows Phone Runtime, Microsoft said.
For this article, Microsoft gave eWEEK a statement saying: “Microsoft is deeply committed to the components that make up the Windows Phone Runtime, and this includes the components that make up solutions based on both Silverlight and HTML5. Microsoft is making tremendous investments in these underlying technologies.”
However, HTML5 will not become the single solution for client application development on the Microsoft platform. For Windows Phone, HTML5 support comes to the phone with Internet Explorer 9, but the Windows Phone development platform enables developers to build rich, immersive apps and games that run locally.
In addition to Nitobi with PhoneGap, Sencha is another provider of HTML5 frameworks and tools. “Sencha products have been a major driver of the increased interest in HTML5 because we give developers, for the first time, a way to harness emerging HTML5 technologies and create highly functional Web applications that erase the line between native apps and Web apps,” said Michael Mullany, CEO of Sencha.
Sencha Touch, a tool for touch-enabling apps, is the company’s flagship product.
“Sencha Touch is built from the ground up to leverage HTML5, CSS3 (Cascading Style Sheets) and JavaScript, enabling us to build rich Web applications that look and feel native right out of the box,” said Craig Walker, CTO of Xero, an online accounting software firm.
“Relying on the extensive set of UI [user interface] widgets, layouts and animations, we were able to start building features immediately from day one rather than worrying about the underlying architecture. Plus, we were able to leverage our existing skills and use open Web technologies.”