Mind the gap, CC from Flickr.
Last year at MWC in Barcelona, I talked with some people from W3C, the web standards body. They asked me why we developped native mobile applications, instead of using the mobile web. For me that boiled down to two things: More controll over the user interface, and using context information not available in mobile browsers.
We agreed that in a few years, the mobile web would be similar to the current web, with all it’s ajaxy webaps. That future is almost here (it’s just not evenly distributed yet )
The first issue is being solved by better touch screens, which make it possible to directly interact with a (mobile) website’s UI, instead of selecting links with a 4 way button. So the only real obstacle against developing just mobile sites is the context information that phones often have, but can’t be accessed from mobile browsers. This part is being solved by new projects, such as PhoneGap.
This approach has several advantages over native mobile development.
- More people know web frameworks then native languages such as Objective C, C++ or J2ME, so it’s easier to find people to devellop you applications.
- If you want to develop for multiple platforms, you can reuse most of your code. When writing a native application, a lot of work has to be done for each platform. With web framework most code runs on all supported platforms, and can be reused. The only native part is the container (which is opensource).
- Since a lot of the code is webbased, it can easily be used for a mobile website version of your application (but without the context that phonegap provides). Or you can start with your mobile site, and build it into an application.
Phonegap also has other advantages over normal mobile websites: Since the resulting application is a “real” application, it has it’s own place on the users phone. He can assign shortcuts to it, etc. Another advantage is that these applications can be sold, making money in the process. Even for free apps the application marketplaces (such as the apple appstore), are a big marketing tool, with over 300 million applications distributed to iphones.
But it’s a good fit for a lot of information-centric systems.
I really believe in the future of mobile webapplications, and phonegap is a great step in that direction. At some point the native browsers in mobile devices will support these context api’s, and the extra layer won’t be nescassary anymore.
Thanks to Peter of Bubblefoundry for pointing me to phonegap the first time.