views:

384

answers:

5

I've talked to a lot of people recently who say they are expecting to stop writing native mobile apps and start writing web apps once HTML5 gets more fully baked in mobile OSs. I just finished my first HTML5 deep dive, and I'm not yet convinced.

Will HTML5 work as a replacement development platform for native apps, or are there certain things that require targeting the native runtime?

+4  A: 

One thing which necessitates the native app is the access to more features on particular mobile devices; it's not guaranteed that that all the features of the device is exposed via javascript interfaces to HTML5. In that case, you are forced to use whatever native APIs available.

Yuji
+3  A: 

HTML 5 is not magic. it adds a lot of long awaited functionality to HTML and to traditional web applications, but still - many things are still out of it's scope. for example:

  • accessing your contact list
  • getting bluetooth data
  • making use of an OS specific function

for those (and other) functions - you would still need to write vendor specific applications.

ozk
I agree with your overall premise (HTML5 is not magic), but vendor specific API's (e.g., contact management, geolocation, etc.), can all be abstracted into higher level API's. Check out http://www.phonegap.com for an example. You could arguably call this "cheating" though, since you're not technically relying solely on HTML5 at that point. Worth mentioning though, since it does let application developers rely only on the HTML5 side of the stack.
jmar777
This looks like it might turn into something useful: http://www.w3.org/2009/dap/
legoscia
+2  A: 

In short, no. HTML5 provides an appropriate toolset for a large range of applications, so I see it growing popular in this arena (for portability reasons). I except there will always be application developers (and users) that prefer the native look and feel though, and there will always be scenarios in which bare-metal coding is required, or a 3D engine is more practical to utilize using system level API's.

HTML5 is a compelling technology stack though, especially when coupled with some cross-platform API management (e.g., PhoneGap).

jmar777
+2  A: 

Native applications will continue be able to use new device features first, before they are eventually supported up through to the browser so for cutting edge development, native will still be the way to go.

There is also an issue with discovery - right now users are accustomed to using apps and can find them in their devices app store. Searching for a web app seems unnatural to a typical user and that wont change any time soon. That's why a lot of apps that would seem to make more sense as a web app are still being produced as native apps.

Conclusion: Native apps will continue to be necessary, but mobile web app development will grow and may well replace more native app development as time goes on.

mbehan
Note that discovery is starting to be solved with things like HTML app stores, that even collect money for you.
Kendall Helmstetter Gelner
A: 

It will make some native apps unnecessary but not all of them. Not really much more to say about it :)

John Burton