There’s some confusion over what HTML5 actually is. There’s what the general public (and, for many of us, our clients) believe, and what it actually is. HTML5 is not a brand new platform that we use to build websites; it’s not a rich multimedia environment; it’s not a thing you enable to make your websites work across multiple devices. HTML5 is basically an attempt to evolve the Web to meet the demands of the way we use it today, which has mutated dramatically from its earliest iteration as a simple network of linked documents.
To the public at large, HTML5 has become a shorthand term for a series of related and complementary technologies, including CSS3, SVG, JavaScript APIs, and more. Although some developers are happy to use this broader meaning, I don’t really like this conflation of all the technologies, so I’m happier with calling HTML5 the web platform. I actually prefer Bruce Lawson’s proposed term, New Exciting Web Technologies (NEWT), which is both a cool acronym and has a cute logo, but I have to admit that I’ve lost this battle, so the web platform it is.
The web platform is vast. To see how vast, take a look at http://platform.html5.org/, which lists all of the technologies that are considered part of the platform; the list is really quite impressively long and contains far more than I could ever hope to cover in one book.
Instead, I’ll concentrate on the core, the technologies I feel are sufficient and useful for authoring websites that work across multiple devices: HTML5, CSS3, SVG, Canvas, and some device APIs. I’ll explain each of these as I get to them throughout the course of the book, but first I want to clarify in more detail what is meant by HTML5 and CSS3.