Rauf has posted 29 posts at DZone. You can read more from them at their website. View Full User Profile

Mobile Apps: Native vs Web

  • submit to reddit

Many developers run into this debate when building mobile apps for iOS and Android. Modern smartphone OS's and browsers are now quite powerful and can run fully featured HTML5 web applications. So, why not build your apps in HTML5 (there are a few open source frameworks that can help as well) and just forget all the trouble of getting app store approvals and dealing with upgrade issues of installed native applications? Didn't we just leave desktop apps in the dust in the 90s for all the great benefits of on-demand web applications (nothing to download or install...etc)?

The choice may not be so straight forward. Let us compare the the options for using web apps:

  • With web apps there are no store approvals needed
  • Upgrade the app at your leisure
  • Build it once for Android and iPhone - many web frameworks let you build web apps that will run on Safari or Chrome
  • Lots of developers familiar with Javascript/HTML
  • HTML5 gives you access to many low-level OS features (geo-location, local storage...etc)
  • You are not alone. Big players like Google have gone the web app route for GVoice and GMail, to name a few examples
  • Avoid revenue sharing with app stores
  • Your app is not easy to find - app stores make apps easier to find and rate
  • Native apps have access to low level hardware/APIs like OpenGL and full access to the OS (more or less)
  • Native apps generally can be made to look much better and perform faster
  • Installing a native app is a much more seamless experience
  • Can't use convenient revenue collection/sharing mechanisms available for paid apps and for in-app advertising and up selling features found in native APIs
  • You can typically trust native apps not do something sinister since they have been reviewed and approved by a higher authority
  • Native apps have better debuggers and emulators

If you flip the pros/cons around you would get the case for and against native apps.

While web apps have some clear advantages, in the end, native apps just deliver a better experience to end users from both a user interface and marketing perspective. This may change in the future as HTML5 gets more powerful and there are better cross browser frameworks, web based store fronts, and rating systems for web apps. For now going native is the best option, but I am sure the debate will continue.

From http://blog.exalt-tech.com/2010/11/mobile-apps-native-vs-web.html

Published at DZone with permission of its author, Rauf Issa.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Andy Leung replied on Tue, 2010/11/30 - 9:11am

HTML5 gives you access to many low-level OS features (geo-location, local storage...etc)
you meant native gives you access to many low-level OS features? local storage is a browser feature, not OS, HTML 5 can't live without browser and doesn't have direct access to any low level OS features, probably not even high level OS features. e.g. without browser support, can HTML 5 Canvas leverage your graphic card's rendering functions?

Max Katz replied on Tue, 2010/11/30 - 1:46pm

I presented on this topic at Devoxx and will write a comparison post on my blog soon: http://mkblog.exadel.com/2010/11/slides-mobile-development-choices-native-apps-vs-web-apps-devoxx-2010/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.