Should I develop my app/service as a native or mobile web application?
Fewer questions will elicit a wider range of answers among mobile developers, but the simple answer is that there is no simple answer. Both native applications and mobile web apps have their pros and cons, and neither one is the best solution for every situation.
The mobile web can offer an easier development process for certain apps and services, particularly if they don’t require access to external handset functionality (such as the camera, etc.). They also don’t come with some of the discovery, download and installation issues inherent to native applications, but getting people to visit and use a mobile web site can still be challenging (though this can be mitigated with SMS links or other mechanisms). Fragmentation remains a problem for mobile browsers and handsets, just as it does for standalone apps, but in some cases, can be easier to deal with.
Native applications offer the only way, generally, for developers to access handset functionalities like the camera, Bluetooth, GPS and so on. They also offer developers the ability to control more of the user experience, and offer much deeper and richer functionality than a mobile web page. But they come with their own drawbacks: even among common platforms like Java, fragmentation remains a big problem. Discoverability, delivery and download for standalone apps can be very difficult, and testing is paramount as it can be extremely difficult to distribute or get users to download and install upgrades.
For more discussion of these issues, see:
- - Mobile development in a hurry, by David Wood of Symbian
- - Mobile applications, RIP by Michael Mace
- - The End of Mowser by Russell Beattie


