
Foreword
Since jQuery’s debut in 2006, it has grown into the most popular JavaScript library for managing and enhancing HTML documents. jQuery’s cross-browser design allows developers to focus on building websites instead of puzzling out browser peculiarities. In 2013, more than one-half of the top million websites (measured by visitor traffic) use jQuery. Similarly, the jQuery UI library, which builds on jQuery, is the most popular source of UI widgets.
With that popularity comes the temptation for the jQuery team to add features so that nearly any problem encountered by a developer can be solved with the incantation of a jQuery method. Yet every feature added to the core code of jQuery means more bytes of JavaScript for website visitors to download, whether or not a feature is used in that site’s development. Such a large monolithic library would degrade performance just for the convenience of web development, which isn’t a good trade-off.
To combat the scourge of code bloat, jQuery’s philosophy is to put only the most common functionality in the library and provide a foundation developers can extend. An incredible ecosystem of jQuery plugins has grown over the years, driven by each developer’s need to scratch a particular itch and their generosity in sharing code with the wider jQuery community. Much of jQuery’s success can be attributed to this ethos and the team fosters it through sites like plugins.jquery.com.