How can HTML5 "replace" Flash? [closed]

A topic of debate that's seen a resurgence since the unveiling of the iPad is the issue of Flash versus HTML5. There are those that suggest that HTML5 will one day supplant/replace Adobe Flash.

I do not develop software that runs in a browser, so my (limited) understanding is:

  • HTML is a pure-text markup language that is delivered over HTTP to a client browser. The client browser interprets the markup and renders (with varying degrees of success) the page according to an standard specification.
  • Adobe Flash is a propriety framework for working with audio, video, sound and raster/vector graphics. It requires special authoring tools (a compiler perhaps?) and a custom player that's available as a plug-in to most common browsers.

Could someone please explain (to this C/C++ developer) how it is possible from a technical/coding point-of-view that a text-based markup language (HTML5) could be considered a replacement to a multimedia framework (Flash)?

Please no opinionated arguments - just technical facts.


Solution 1:

What people loosely refer to HTML5 in the context of this discussion is the combination of HTML as a markup language, CSS which specifies how it is rendered, and the javascript code which manipulates the HTML and CSS dynamically.

Furthermore, HTML5 not only has the standard text elements, but also <canvas> on which 2d graphics can be drawn, and <video> elements which embeds the video (as the name suggests).

So, in a full-fledged implementation of HTML5, you can implement dynamic web sites without using Flash. An example is the HTML5 version of Youtube, recently introduced as beta for Safari/Chrome users, see here. Another is an NES emulator in javascript + HTML. (Well the latter does not really concern HTML5... it uses <canvas>.)

Solution 2:

When Steve J. made the comments about HTML5 being the future, he didn't bother to explain that this statement really refers to the most widespread use of Flash today, that being Video. Perhaps he didn't explain this purposely, so that many misinformed end users who want to watch Hulu on their iPhones would unleash their rage against Flash. Which is exactly what has been happening..It is annoying and I lost respect for Steve.

The HTML5 stack (html, css and JS) will NOT be a direct replacement for Flash. I have been developing Flash content for over 10 years, I am also very competent in JS. I cringe thinking about using JS for tasks where ActionScript can accomplish the same thing in 50% less code. There are tasks that will be very difficult if not impossible to achieve with JS and CSS. For rudimentary animations and JQuery-like functionality, sure, HTML5 can be a viable option instead Flash. But for complex games and RIAs, I just don't see it. Actionscript has evolved into a robust, full featured language.

The other important thing is that the Flash player is updated by Adobe periodically to address any issues that may arise. How will they update/improve HTML5 spec if it becomes the norm and Flash went bye-bye?? They won't. You have to wait for HTML6 and all the browsers to support it. Which means you end up waiting 5-10 years. Great way to bring us back to 1998. No thanks, I'll stick with Flash for now.

As much as open standards are a worthy goal, I don't see this panning out the way they are saying...

My two cents.

Solution 3:

I think some people here are programming snobs and aren't listening. I, too, am a beginning Flash developer and I don't want it to go away. You know why? Because CREATIVE people can use Flash to develop what's in our brains very easily. A person who likes to draw and create scenes does not necessarily like to code. Typing a bunch of "sentences" is NOT drawing and animating! What you're saying about HTML5 is like saying that Picasso and Dali should have learned a programming language in order to paint. Ridiculous, right?

That's why people prefer Flash to HTML5. It's not self-serving, it's just acknowledging that the people capable of creating cool animated web content would rather be able to create our own visions rather than learn an unrelated skill or rely on someone else to interpret for us.

Instead of ridiculing, you might want to come up with an HTML5 visual environment that rivals Flash.