In its infancy, web development used to be simple. A developer who knew a bit of HTML, CSS, and JavaScript could compete in a fledgling market.
Then libraries like jQuery and prototype gave web developers a taste for dynamic HTML, while AJAX reduced the web server to an API.
The browser, once a thin client, gained weight. HTML5, CSS3, and ECMAScript5 filled the developer’s toolbox with powerful new tools for creating application data, presentation, and behavior.
An explosion of open source projects (and some proprietary extensions) sprung to life around these advancements. Suddenly the World Wide Web became a much more complex place for developers. Web applications now rival the capabilities of many desktop applications, and must function in a wide range of browsers on an even wider range of devices.
The modern web is no longer simple. And those who code for it can't be either.
While I might be a little bit biased in this review considering I'm a co-author of the book, I just read through its entirety again and was very happy with the great content it contains. It goes fairly in-depth on some hot topics in the front-end web development these days, from rolling your own data binding system to using task runners to animating things to what NOT to do when developing a site. In my opinion, this is a must-read for the modern front-end developer!