The Most Important Parts of HTML5
blog.n01se.net
blog.n01se.net
2. WebSockets
3. Binary Data Types (Typed Arrays and Blobs)
4. Web Audio API
5. Canvas 2D Context
6. CSS3 and WOFF
7. Local Storage, Offline Applications and the File APIs
8. Web Workers
9. SVG 1.1/2.0
10. WebGL
11. All the Rest
Decent summary of important stuff in/related to HTML5, though.
I don't believe it's intended as a replacement for the <audio> tag. The audio tag exists to embed (pre-existing) recordings and their metadata (e.g. transcripts). The purpose of the audio API is generated sounds (music sequencer & the like) and low-latency sounds (for video games).
While you could probably re-implement <audio> on top of the web audio API, that's not very useful.
The ability to encapsulate markup, style, and behavior into a single unit with a clean API is an enormous improvement. Of all the new HTML5 features, I think Web Components have the highest potential to relieve a huge pain point for developers.
Image an online repository with all kinds of widgets -- range sliders, date-pickers, sortable lists, etc. But instead of a collections of inconsistent jQuery plugins with CSS dependencies, you get a single, self-contained module that can be interacted with as if it were a native DOM node.
You get a collection of inconsistent web components?
> you get a single, self-contained module that can be interacted with as if it were a native DOM node.
Right, because the one thing I always think when I'm using third-party code is "I'd like this thing to be way more opaque, I'd like to have way less control over it, and I definitely don't want to be able to introspect it."
1. Faster Javascript Engines
AS3 in Flash Player 9 (2006) has about the same speed Javascript has now. There are about as many benchmarks showing AS3 beeing faster, then there are the ones showing Javascript beeing faster. Speed seems to be about the same
2. WebSockets
Has been in Flash since 2006
3. Binary Data Types (Typed Arrays and Blobs)
Has been in Flash since 2006
4. Web Audio API
Has been in Flash way longer
5. Canvas 2D Context
Has been in Flash since like forever ago
6. CSS3 and WOFF
Nothing really specific but Flash has most all of that since years
7. Local Storage, Offline Applications and the File APIs
Since 2006/2008
8. Web Workers
Will come with Flash 11.4 soon.
9. SVG 1.1/2.0
Vectors are at the core of Flash
10. WebGL
Stage3D is in Flash since 2011
So just stop hatin Flash and love the browser independent possibilities.
In Flash since...never.
12. Runs great on iOS and Android.
In Flash since...never.
On the other hand, it's possible HTML5 is better thought out technically. I don't have a strong opinion on that. I do think the Adobe approach of "rich internet applications", which was once shunned by the HTML/hypertext community, is winning after all, just not in Adobe's format.
No. Flash has raw TCP sockets and they are not nice, and unlike WebSockets don't pass through firewalls and proxies well.
Raw sockets pass through firewalls and proxies exactly as good as websockets.
And avoiding WS and using normal sockets, god no. So much code for error handling and parsing and so on. Message passing is much nicer.
(Oh, and anything that Flash technically supports but doesn't do by default unlike HTML/CSS/JS is essentially the same as not having it, since we all know 90% of developers won't care).
Oh, and more recently, use new versions on Linux outside of Chrome: http://news.ycombinator.com/item?id=3780368
Or OSX. and use it at all for starters, still pegs my CPU doing trivial shit under OSX, even in Chrome.
For games (and certainly banners)? I still think there's long way to go to catch up to Flash, even older Flash. http://news.ycombinator.com/item?id=680284
> AS3 in Flash Player 9 (2006) has about the same speed Javascript has now. There are about as many benchmarks showing AS3 beeing faster, then there are the ones showing Javascript beeing faster. Speed seems to be about the same
Links to back that up?
Features are irrelevant. The problem with flash is that it's painful for the user because it just doesn't work.
Arbitrary web pages can run arbitrary GL commands and if they can cause your GPU drivers to crash (e.g. lock your whole system) than any link you click has the potential of ruining your day.
Unfortunately, nobody's yet figured out how to let a browser only run the pages that don't make it crash.
In a web browser though, you need to be sure of security - you are running arbitrary content from the web - as well as stability and consistency. So WebGL-powered browsers blacklist drivers known to be problematic.
You can override the blacklists if you dare, but it is very dangerous.