We are in a time of unprecedented innovation on the Web. Not too long ago, one company, Microsoft, dominated the web landscape; in 2003, Internet Explorer was used on some 95 percent of computers worldwide. This domination brought the advantage of a stable market for developers, but there was also a serious drawback: Microsoft chose to end nonessential work on IE, and innovation on the Web stagnated—a consequence of a lack of competition and a closed environment.
Things could not be more different now. There are some four or five key browser vendors, about the same number of major operating systems, and more parties are getting involved all the time. Adobe has switched its focus from Flash and apps to the open web, and technology companies like Samsung and Nintendo are joining key players such as Google, Apple, and Microsoft in shaping the future of the Web and the way we build for it.
And the way we access the Web has changed enormously too—think devices. No longer are we limited to browsing the Web with a desktop or laptop. So many categories of devices exist now—including smartphones, tablets, and games consoles—that I’m running out of fingers to count them on.
This book is about front-end web development in this new web-everywhere era. It’s about learning methods to make first-class websites, apps, or anything built on open web technologies, with the multi-device world aforethought. This is not a book about how to make mobile websites or smart TV apps; it’s about learning the latest developments in current and near-future web technologies so you’ll be better able to build sites capable of offering the best experience everywhere.
I’ll return to what you’ll learn from this book in more detail at the end of the introduction, but first I want to talk about the bewildering array of today’s web-enabled devices.