Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Inner Workings of HTML5

DZone's Guide to

The Inner Workings of HTML5

· Web Dev Zone
Free Resource

Should you build your own web experimentation solution? Download this whitepaper by Optimizely to find out.

You can use a language, and not care how it works; or you can use a language, learn how and why it works, and then go on to improve it yourself.

You can, of course, improve a language without knowing how it works -- just providing feedback is often plenty.

But if you really understand a language, including why each of its formal features is structured exactly as it is, then you can contribute as a master, almost as an engineer.

So what's the purpose of HTML? Let's say: providing user experience over the web in a browser. Okay, fine: then to become master, learn about the inner workings of the web (which moves you closer to network engineer) or learn about the inner workings of the browser (probably more useful for web developers than network engineering, especially since browser change a lot faster than the architecture of the web itself).

So then what's the purpose of HTML5? and how does HTML5 get there?

Paul Irish answered these questions in a great 37-minute presentation at W3Conf2011 last month. He explains how browsers work now as opposed to ten years ago, how browsers drove previous standards and how standards drive browsers now. Eacfeature of HTML5 is given a history (which often explains some otherwise unintelligible bizarrities) and a reason (often hard to summarize, because the reasons are often quite varied, and sometimes deal with e.g. security issues developers don't always worry about).

Paul's a smart guy (he's Modernizr's lead developer!), and an excellent speaker. Definitely worth the time.

Watch the video below.

Implementing an Experimentation Solution: Choosing whether to build or buy?

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}