The title of this post is a little misleading: When most people refer to ‘HTML5′ these days, what they really mean is HTML5 + JavaScript + CSS3.
Javascript Performance is being constantly improved by *competing* (this is critical) browser manufacturers. Unlike Flash, which is a locked down closed source platform. There are plenty of examples out there where well coded JS out performs Flash, and without crippling your CPU at the same time. Well-coded AS3 (Flash) will still hammer your PC, when it’s actually quite hard to have JS to gobble up 100% CPU unless you mess up your code.
Being open source, if you think you can do better, nothing to stop you contributing to one of the open source projects to improve the performance of any of the major javascript engines. There is no opportunity to do with this with Flash, short of getting a job with Adobe.
Advantages of HTML5 + JavaScript + CSS3 over Flash
It works, without any extra software, on pretty much any any modern browser, on any device, mobile or otherwise. If so inclined, you can also improve the performance of JS or video playback by contributing code to WebKit or Mozilla. There are countless open source frameworks that massively accelerate development, without the need of paid software (Adobe Creative Suite) to create your end product. Flash is NOT free to develop for.
Advantages of Flash over HTML5 + JavaScript + CSS3 over Flash
Primarily, Flash is great at video. While arguments of the best way to achieve this in HTML5 still rumble on, Flash continues to deliver fantastic HD video out of the box. Flash is generally faster, especially with graphic heavy content. It also gains, on some platforms, hardware acceleration allowing more ‘stuff’ to be shifted around screen without hammering your CPU quite so much. Critically though, this is only on some hardware.
Touch
I want to blog about this in more detail later, so this is a summary of my thoughts: On the surface (no pun!), Flash looks better places for delivering Touch interfaces, with an extensive array of pre-built widgets and tools for creating slick user interfaces quickly. However if you actually take a look at open source projects like jQueryMobile (and its UI components) it soon becomes apparent that developing this stuff in Flash is very restrictive.
Closing note…
I wish Adobe would focus their energy on developing better JS tools, supporting frameworks like jQuery and the HTML5 platform. I’m fairly confident the writing is on the wall, and it will take some kind of miracle product to save Flash in the long run. It’s not dead yet: the vast majority of video content will continue to be delivered in Flash for a long time to come.
I hope this post wasn’t too ranty…