Native vs Web mobile apps

Lately I've been questioning the advantages of native mobile app development over web apps. I'm impressed with the possibilities for web apps, especially now that Javascript includes an API for geolocation (code sample). iPhone 3.0 supports the feature out of the box, and Android phones can access it via Google Gears.

The major advantages I can identify for native apps are speed and visibility (in app stores). These are strong arguments for native development. Also, access to the phone hardware, e.g. bluetooth and accelerometer, is possible only in native apps.

We're creating a prototype for BeeMe using a Ruby on Rails web app, mostly because I'm better and faster with web development than obj-c or Java. In the long run it probably makes sense to create a native version for iphone and android, but perhaps over time we will see a departure from proprietary app stores to web apps, which would bode well for cross platform availability and development.