Recently published by Apress. Order a copy on Amazon.

jQuery seems to be mindlessly injected into the vast majority of web applications and libraries. In some cases, there there may be no logical reason for pulling in jQuery as a dependency. For example: a library that only needs to perform a few simple element selections or DOM manipulations. Many web developers don’t really know when they need to use jQuery, and when they don’t. Pulling in this dependency seems to be a standard step when setting up a new library or web application. You shouldn’t be a jQuery developer, you should be a web developer, and part of being an effective web developer is a firm grasp on the underpinnings of web development.

Surprisingly, while browsers and JavaScript have improved significantly, the use of jQuery on the web has actually grown. It is surprisingly common to learn jQuery first, and JavaScript along with the web API much later on (and sometimes not at all). Relying solely on jQuery as your window to the web leaves large gaps in your knowledge. This in turn results in frustration when the abstraction that jQuery provides “leaks” and exposes you to the native aspects of the browser. In some cases, jQuery is ill-equipped to solve problems (such as file uploading). In these instances, those insistent on working exclusively through a library struggle as they do not have the knowledge or confidence to deal directly with the native browser API.

In addition to being unnecessary in many instances, jQuery may adversely affect the performance of your project (sometimes significantly). Even something as simple as $(element).hide() has unexpected and serious performance implications. “Beyond jQuery” aims to educate developers, reveal the magic behind jQuery, help them solve common problems without it, and give them more confidence to abandon their crutch and embrace the power of the web API and standardized JavaScript.