And boy, was I not wrong-fast-forwarding to today, I would say that JavaScript is one of the primary languages I use for both client- and server-side program‐ming, and I wouldn’t have it any other way. It seemed like magic! When anything seems like magic, it is usually a good indication that you are at the dawn of a new way of doing things. At the time, Google Maps was a first-of-its-kind application-it allowed you to move a map around with your mouse, zoom in and out, and make server requests without reloading the page -all with JavaScript. After digging into the first beta release of Google Maps, I was hooked on the potential it had. It wasn’t until 2005 that I first rediscovered JavaScript as a real programming language that I needed to pay closer attention to.
Suffice it to say, I didn’t really pay much attention to JavaScript in the early part of my career because of the novelty of the implementations that I often found on the Internet. Back then, the usefulness of JavaScript varied greatly and seemed to be tilted toward adding animated snow‐flakes to your web pages or dynamic clocks that told the time in the status bar. When I started using JavaScript 15 years ago, the practice of using non- HTML technologies such as CSS and JS in your web pages was called DHTML or Dynamic HTML. While reading this book in preparation for writing this foreword, I was forced to reflect on how I learned JavaScript and how much it has changed over the last 15 years that I have been programming and developing with it.