Before jQuery: browser fragmentation
In 2006 client-side JavaScript development is a painful exercise: Internet Explorer 6-7, Firefox 1.5-2, Safari 2, Opera 9 implement the DOM in subtly incompatible ways. document.getElementById, element.attachEvent vs addEventListener, XMLHttpRequest vs ActiveXObject, CSS selectors non-existent outside the DOM. Every developer rewrites the same workarounds.
The release
jQuery 1.0 is released on 26 August 2006 by John Resig, a student at the Rochester Institute of Technology. MIT and GPL dual licence. Slogan: “write less, do more”.
$("p.intro").addClass("highlighted").fadeIn(500);
$.ajax({ url: "/api/data", success: function(d) { ... } });
Features
- CSS selectors —
$("div.active > p")like native CSS3 - DOM manipulation — fluent chain
.addClass(),.attr(),.append() - Event handling —
.click(),.on(), cross-browser normalised - AJAX —
$.ajax(),$.get(),$.post()with promise-like callbacks - Effects —
.fadeIn(),.slideDown(), CSS animations - Cross-browser — IE6+ without effort from the dev
- Extensibility —
$.fn.plugin = function(){}for third-party plugins
Emerging ecosystem
Around the core, a plugin ecosystem is forming: form validation, lightboxes, carousels, lazy loading. Thousands of developers are contributing reusable snippets.
In the Italian context
jQuery is spreading rapidly in Italian web agencies and development teams. The dominant CMS (WordPress, Drupal, Joomla) are starting to integrate it as a default dependency.
Potential legacy
jQuery is already shaping generations of JavaScript developers and pushing browsers to converge on standards (CSS selectors API, addEventListener). The $ selector convention is a distinctive signature.
References: jQuery 1.0 (26 August 2006). John Resig. MIT/GPL dual licence. Slogan “write less, do more”.
