From what I see, the HTML5 everything push is ending - mostly because
of performance issues on the native app side. HTML5 is still taking over
for flash in the desktop/laptop web space for most things, though even
there, folks are starting to loudly express dissatisfaction with
platform fragmentation, and other problems. This transition has been
ongoing for many years now. Mr. Zuckerberg also pointed out that they
get more traffic through the mobile website than they get through their
native apps, so even on mobile HTML5 still matters (it's just usually
less of an app experience, and more of a webpage experience).
Today, for native apps we need to either go all in with native toolkits,
or target good middleware like Unity3D or AIR. I think we can still
target both worlds (browsers and apps) from one author environment, but
in native apps the name of the game is performance (even on desktops).
Flex/Actionscript/HaXe needs to rival Cocoa/Obj-C and Android/Java to be
compelling. That's the starting point for Flex, then if we can have a
high performing HTML5 target as well, that's a strong multi-platform
story. (This is area where Adobe leans too much on legacy in their
narratives, rather than deferring to the future. Even their gaming
narrative they only fumble into "expanding gaming markets" as an
aspirational note - their narratives are mostly about leveraging their
ubiquitous and sizable Flash install base - coasting on the legacy.
Boring! Technology is about the future and possibility.)
What I imagine is that Flex could be used to create something cool like
Trello.com (as just a random example) but then target both platforms
with much of the same code base, rather than they way they do it now
with, HTML5 (and Coffeescript) for the web (which frankly doesn't run
well - or often at all in my experience - on mobile browsers) and native
apps for each platform (they only have iOS for now, I'd guess due to the
resources it would take to target everything).
Just as another random thought, it might be cool to be able to more
easily utilize native APIs than you can through AIR's ANE mechanism.
Since HaXe compiles into other languages first, it has access to the
libraries of those languages directly (like compiling to C++ for iOS),
externs can be added for all kind of access to native APIs. Using that
part of HaXe, the idea that's been floated about doing an MVC system in
Flex, where the View part is done in the native language (JavaScript,
Java, C#, Obj-C/C/C++, etc.) might actually be easier through haXe than
other language platforms. There are a bunch of externs out there already
for various platforms (don't know how stable or complete they all are
though).
Kevin N.
(You could technically do that externs trick with ANEs and some tweaks
to AIR from Adobe - but they aren't interested.)
On 11/21/12 7:07 AM, Hordur Thordarson wrote:
this HTML5 for everything push.