Mobile App Development: Web or Native, That Is the Question

Mobile application developers have to make a choice of whether to go with native development or Web—or even a hybrid development strategy—to build apps for the devices they want to support.

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 options€”native versus Web€”but 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.