> develop a native application does NOT take more time than developing one in HTML5
Unless you already have an HTML5 desktop app. In which case, the only thing you're doing is modifying the UI for touch-based input and a smaller screen ... which doesn't take much time at all.
Facebook's problem was that their app sucked. It didn't suck because it was HTML5. It sucked because it was done poorly.
For an HTML5 desktop app to become a good HTML5 mobile app usually the changes are so big that you end anyway with a different set of code generating the output for the two "sides".
It does not matter that's HTML+CSS+JS both sides, the device, the interaction, the screen real estate, and the user behaviour when seeing this content in mobility is different.
Actually the risk is that trying to make an HTML5 desktop app also good for mobile is that you overlook a lot of good interactions that are not natural consequences if the starting point is the desktop app.
> For an HTML5 desktop app to become a good HTML5 mobile app usually the changes are so big that you end anyway with a different set of code generating the output for the two "sides".
I'm actually working on this right now.
HTML and CSS served to both desktop and mobile are identical. HTML is just headers and an empty body tag. CSS has shared code and @media specific to each interface.
Every visual element is built through JavaScript/DOM.
Javascript is split into two sections/folders. Logic and visual. Mobile and Desktop share the logic javascript, but not the visual.
Everything you can do on the desktop, you can do on mobile. The only differences are in how the visual elements are presented.
Having been down this path before, I predict you will find that the "last 10%" of those small, annoying things that don't quite work like native mobile apps in HTML5 will take the same amount of time to fix as developing the rest of the app.
If you don't think this is the case then either you aren't far enough along to hit the problems or your app doesn't make heavy use of hardware (which - given that it is also a desktop app - it sounds like it probably doesn't). In the second case then using HTML5 makes good sense.
> The only differences are in how the visual elements are
> presented.
If you don't care about performance, then yes. Everything that affect desktop web performance for the worse (number of requests, latency, lame caching policy) will bite you hundred times more on mobile.
Unless you already have an HTML5 desktop app. In which case, the only thing you're doing is modifying the UI for touch-based input and a smaller screen ... which doesn't take much time at all.
Facebook's problem was that their app sucked. It didn't suck because it was HTML5. It sucked because it was done poorly.