I have the impression that many mobile apps use HTML+Javascript+CSS rendering engines wrapped inside a native mobile app in order to:
– implement the bulk of their UI
– maintain a consistent look and feel across all platforms (iOS, Android, Win8, web, …)
– maintain a set of portable code across many platforms (e.g. use Javascript to receive and parse content as JSON, and interact with the DOM for rendering.)
I actually have a couple of questions:
– is this a widespread viable mobile app development model? Could you, say, implement Pinterest in it (with a similar quality of look and feel, and responsiveness)?
– what are successful examples of apps that work in this way? (And if the popular apps aren’t using it, why not?)
NB: I’ve seen this: Writing a mobile phone radio station app – is Javascript/HTML/CSS viable, or do we need to go native? , but that was 2010. What’s true in 2013?
There are mixed reactions to this and also many answers related to this already but I will put a couple words in on the issues I have seen.
Couple helpful links
http://mashable.com/2012/09/12/web-vs-native-apps/
http://www.wired.com/insights/2012/11/native-apps-vs-mobile-web/
Few Frameworks: jQuery Mobile, Sencha Touch, Telerik Kendo
Also look into Phonegap/Cordova.
At first glance, making an app that can be easily deployed to IOS, Android, Windows etc has a very nice appeal to it. However, the biggest issue I have come across so far has been the issue of InApp Purchases, Push Notifications, and Look and Feel.
IAP and Push Notifications more or less have to be coded for each device. There are helper libraries and tutorials to help with the process but you still have to maintain separate code. Granted you can write all this behind the scenes and use phonegap to access the plugin.
Look and Feel – when developing for IOS, Android, Windows, they all require/suggest your app looks native to the device. This means you now have to manage separate css for each device. This isn’t entirely hard to do with something like sass and some of the frameworks have this partially automated.
The success of Web vs Native can be difficult to see. Facebook started out as a Web app but then abandoned it for native. But again, if you look at the route Firefox is taking https://www.mozilla.org/en-US/firefoxos/, their UI will be based on html which is awesome. The greatest benefit of native is that you will be making an app that is meant for the device. Web apps tend to perform a little more sluggish compared to native but that can depend on the framework and how you coded it.
Another thing to possibly think about is MonoTouch http://xamarin.com/monotouch which provides a nice way to program all your back end code in one language. It also compiles it into the devices native code so you get the benefit of both worlds.
As for going native is web, it will end up depending on your business requirement, your experience, and more research. I can’t cover everything and I only provided what issues I encountered and what ideas I have had during the process.