I finally took enough time to form a stronger opinion in the html5 vs. native, vs Appcelerator, vs phone gap debate and for me, I’m all in on native. Here’s a bit of a breakdown on the different choices.
- Cons: Compiling to multiple platforms is a bit of a double edged sword. It feels like they’re constantly having to make design decisions that support the lowest common denominator between the multitude of mobile platforms. Furthermore, inherent in this model is a bit of follow mentality. Any time a mobile platform introduces changes, they have to catch up to provide support. I’ve heard anecdotes about developers experiencing performance hits when using appcelerator … but I actually think I’d call BS on that. It’s fast.
- UIWebView is a pig and has major performance issues. Your app is NEVER gonna be as performant as a native app.
I’ve heard people argue for an HTML5 version of an app instead of native, but truthfully, I’m not sure these people really know what they’re talking about. I guess they’re suggesting an html5 website that users browse to in their phones web browser. But that’s got incredibly obvious shortcomings – Among others, no access to native controls or assets (obviously); no ability to receive push notifications; a very different look and feel; and having zero presence that persists on the users device.
Developing native applications across platforms is more expensive, no doubt. But without native, far too many UI and UX compromises are made in a market that’s so dominated by solutions that really nail UI and UX.