Mobile applications are all the rage these days. There are currently three major mobile platforms: Apple’s iOS (iPhone and iPad), Google’s Android , and Microsoft’s Windows Phone , and countless variations within these platforms for the developer to consider. Focusing on any one of these platforms leaves 50% or more of the market unable to use your application, but the cost of building and maintaining the same application on each of the platforms quickly becomes problematic. A web application is another option, but one that leaves the experience diluted and leaves the developer without access to many of the native hardware capabilities.
In one of my recent projects at EffectiveUI, I spent a lot of time thinking about how to solve this conundrum in a way that provides the best possible user experience while still being cost effective and maintainable. My solution was an application that is a hybrid of a native application and a mobile web application. I had the opportunity to share this solution, and provide a tutorial for building it, in an article for MSDN Magazine, “Develop Hybrid Native and Mobile Web Apps.” I truly believe that this approach is a “best of both worlds” solution that leaves the developer and end user in a better place.
I’m interested to hear what other app developers think about this hybrid approach, and what other solutions have been devised to broaden an application’s audience.
Thanks for the well written and thoughtout use case. “Developing Hybrid Native and Mobile Web Apps” was an easy read but very informative. I’ve often taken the route of mobile web application which has the major advantage of single code source and easy presentation across devices but lacks the native app polish and of course can not take advantage of the app stores. The Hybrid approach is truly a best of both worlds and could be used to cost effectively leverage existing web applications/sites/content/etc to quickly build a native app. Great work and thanks for sharing.
Good article. I think many people already have been developing hybrid (HTML5/JavaScript running in a native wrapper) mobile application using open source frameworks such as PhoneGap (which supports six mobile platforms). But I never thought of developing these native shells by myself. This is a good eye opener for most people like me as they would have never thought that their favorite frameworks do a “similar” thing to the above in their native wrappers. Good work indeed. I do not have to stick to a bridging framework like PhoneGap anymore. Can you tell any pros and cons of your approach when it is compared to a framework such as PhoneGap?
I think it all depends on the use cases. I get asked for a recommendation all the time by clients, and the answer depends on what the app needs to do. If the user will need to use it offline, or need it to access device applications like the camera, native functional is usually the best (sometimes with occasional data sync over the network). Another consideration is how do I get there? If most users won’t visit often or prefer to interactive via social media on their device, you need to have an actual mobile site to link them to. Your post makes a lot of sense if they’ve already decided to have a download in the app store, but there are many other questions.