Hybrid apps built with tools like Adobe Air, Cordova, jQuery, Bootstrap, Ionic and Angular, continue to improve. However, these apps still lack the quality required in many situations.
1. Native UX = High Quality App
For almost every user – regardless of how savvy – native UX means high quality and professional, no matter how well you do Hybrid.
And you can’t fake it because the Android’s and IOS’s keep changing the look of their UI. Today it’s “Material Design” on Android and “Flat Design” on IOS. So until there is a high performance, cross platform UI that becomes universally accepted by users, “native appearing” HTML5 frameworks like Chocolate Chip-UI just won’t cut it.
Furthermore, I have my doubts about cross-platform compilers, such as Titanium and Sencha. It’s the same type of thing – too many layers leading to loss of control of your development leading to poor user experience.
2. Enjoy working against Google and Apple?
You will also be working against Google and Apple, who kind of support HTML5, but really don’t. For example, read Google’s App Developer Best Practices. According to them, the primary essentials of a “quality app” are to “Make it Android”.
3. Performance way more important
Watch young people flick and slide their apps around. They don’t want to wait. They want offline support – which is (practically) unsupported in HTML5. Animations and loading of content must be really performant.
There’s just something about the “closeness” of the app that makes personality more important on mobile. On desktop, work is the defining activity. In the mobile world, entertainment and communication are the primary activities. It’s less business-like; more personal.
People want to see icons and text in perfect resolution when using apps. They want a “delightful”, smooth experience. Anything lesser is quickly noticed as a fraud.
5. Cross-Platform Bugginess
It’s easy to get a basic HTML5 app running on the app store, but the amount of time spent resolving cross-platform issues can be huge.
Below is a talk from a C++ conference explaining how Microsoft ported Office to every imaginable platform.
They tell it like it is – hard work with no magic solution.
Their approach is to always use native UI components, but keep UI code “very thin”. Most code is in C++ so they can re-use from platform to platform.
Perhaps this is how cross-platform will happen in the future.