Mobile web applications are a fast-growing market. Users with mobile devices expect access to all content on their mobile devices. While mobile web applications provide a great user experience in most cases, they often fall short of so-called native applications because they do not have access to convenient offline storage, capabilities of the physical device such as the camera, and data available to other applications, such as the user's contact list. Short of building a native application, there doesn't seem to be a way to access the full capabilities of mobile devices. But, do we really want to recode our great web application into native code for iOS, Android, Blackberry, Windows Mobile, and whatever other devices our users might have?
It turns out that we don't have to. On every major mobile platform, the web browser is also available as a component that can be embedded into a native application. This one fact means that it is possible to create native...