I’ve been asked to recommend some alternatives to an interactive Flash cross-section, and I’m not sure of the best answer.
I’m tossing back and forth between HTML5 applications and native applications. The biggest benefit I can see for HTML5 is that only 1 version would have to be created and it could work on iOS and Android. The biggest benefit of a native application would be performance and compatability with older devices, however two applications would have to be created.
I’m leaning towards the native applications, because everything I’ve read suggests they’ll just work better with less quirks, but the HTML5 route is intriguing and likely less expensive. Thoughts? Is HTML5 ready for something like that?
HTML5 is up to the task.
But that all comes down to what you’re trying to support.
I mean, if you’re trying to support iPhone 2, then you’re going to have to go native.
There’s no way around that.
Depending on what you’re trying to do, you might be stuck supporting a minimum of an updated 3GS.
But it’s not like there aren’t native apps which don’t do the same thing.
The same goes quadruple for Android. All iPhones are built to be the same, within the confines of that series.
There are no restrictions on how Androids are made, or what they contain.
As such, there’s no guarantee that any app will work on all Androids.
In the end: it comes down to what you want to do, how you want to do it, and how familiar your devs are with each platform (and in the case of HTML5, that means all of the web-app APIs, and an understanding of deferred/async programming in JS, and how to work with the DOM in a high-performance way, plus media queries and touch-events).
PS: if you need to access internal file storage, or you need to access internal hardware (camera), or you need to access external hardware (bluetooth keyboard/wireless headset), use native apps. The APIs are there, but the support isn’t guaranteed to be, yet.