HTML5 is still being developed and isn't ready to take over Flash entirely. And it probably never will.
Whats the difference?
Flash is server side. All it's function is contained and protected. It also has advanced animation, 3d support, and it has an extensive GUI as well as pulling in external programming.
HTML5 relies on client side scripting which is just in its infancy of being secured. HTML5 has many advantages over flash for content delivery such as streaming music & video. It's not quite there yet to do complex media feeds, complex games and interaction. Technically you may be able to program it, but the benchmark speed is falling short.
HTML5 does not natively handle animation. It still relies on css and javascript to move things about.
HTML5 is just beginning to have support from all browsers. It's still not reliable that all browsers render the markup the same. And there's just been a few GUI 1.0s available for HTML5
That being said, the first expected milestone for HTML5 is sometime in 2014. But you can use it now. And here's why:
It took nearly 4 years to go from introducing css to the world to becoming close to the standards that you see today. At first we were told to build our HTML TABLE and put the DIVS inside the TD. Yep, really. You could use it from the get go and have wildly different results in browsers. THEN we were told to create the DIV container and put the TABLE inside that. Eventually we got rid of the TABLE (mostly) almost 10 years later.
Same goes for HTML5 as of right now. It's got a road ahead of it before it is fully ready.
Now lets talk about Flash. Flash is still over 95% supported on all devices in the marketplace. It's legacy goes back to 1996. And it wasn't until 1998 that the general public could get it's hands on it and it had an interface that was somewhat usable. Then came Flash MX and that is when the popularity literally exploded on the net.
"OMG you mean we don't need to use animated gifs any more?" Flash was used for everything: form buttons, avatars, chat rooms, and any sort of stylistic delivery. The reason being is the CSS was in it's infancy and now we could style with flash a lot easier than html.
Actionscript 2 came about in 2004. 6 years after the first generation flash exploded. It was like announcing you were pregnant. Super exiting in one hand and yet lived a very short euphoric lifespan of 2 years. AS2 built upon the previous flash components and expanded it into a programming language. However, it failed because it was boxed in by old technology.
And then actionscript 3 came out in 2005 and that is where the game changes for Flash. Instead of creating interactive movies with some programming, we could now program light, efficient, and effective content delivery with little or no movie tweening. This development turned the flash community on its ear. Not much remained of AS2 that could be natively used.
Nice history lesson, eh?
So here comes the phone generation. Phones are not computers. And that in lies the problem with something like Flash and many of the heavy web programs and applications. They require too much computing power for the phone to handle.
Phone app vs Web app.
A phone app is something that can purely exist on your phone with no internet connection to pull information or push the calculations to the web. It runs using the native OS on your phone. Which is why you need to download from the different stores (itunes, play, etc)
A web app is something that can run on your phones interface but needs the internet to push info to a server to do the heavy lifting and return the results to your phone. Web apps are typically built with HTML(5), CSS and Javascript. It uses the phone's browser to render the app.
Both are commonly called "phone apps" though technically incorrect.
The problem with flash is that it needed a separate plugin for the phone. Similar to the plugin you download on your desktop/laptop. The operation of the flash as a plugin application required too much battery drain to be efficient on a phone. Well with the way that flash was built this is the big problem that everyone hung on to --- especially apple --- to start the trend that flash is dead. When it fact, it couldn't be further from the truth.
Flash for the common web is going to be eventually replaced with HTML5. Especially for content delivery. HTML5, when it is ready, will be better.
However, beyond the common web, flash is a powerhouse that HTML5, CSS, Javascript will have a hard time beating any time soon. Yes, maybe in 3 to 5 years, maybe.
Flash is used far beyond what you would normally see.
** Did you know that many of your Saturday morning cartoons and vector animations are done with flash?
** It can also be used for learning with online classes, interactive learning tools.
** Presentations that need interactivity without a browser or web connection.
** Tradeshow and product demonstrations.
** It can also collect information ---- while offline. Then once connected to the web the flash will deliver the collected information to a database.
** It can be used for interactive learning kiosks in zoos and parks without any other infrastructure.
** It keeps proprietary software private.
Also did you know that you can build a phone app in flash and use the CS5 & CS6 Flash IOS packager to create a native Apple App? And this has been available for over a year?
http://www.adobe.com/devnet/devices/ios.html
No HTML5 will not ever kill FLASH, but I do expect them to shake hands and become friends soon.
I've been on the net and programming websites since 1994, including nearly everything listed in this post.