Prima di jQuery: frammentazione browser
Nel 2006 lo sviluppo JavaScript lato client è un esercizio doloroso: Internet Explorer 6-7, Firefox 1.5-2, Safari 2, Opera 9 implementano il DOM in modi sottilmente incompatibili. document.getElementById, element.attachEvent vs addEventListener, XMLHttpRequest vs ActiveXObject, CSS selector inesistenti fuori dal DOM. Ogni sviluppatore riscrive le stesse workaround.
Il rilascio
jQuery 1.0 è rilasciata il 26 agosto 2006 da John Resig, studente del Rochester Institute of Technology. Licenza MIT e GPL dual. Slogan: “write less, do more”.
$("p.intro").addClass("highlighted").fadeIn(500);
$.ajax({ url: "/api/data", success: function(d) { ... } });
Caratteristiche
- Selettori CSS —
$("div.active > p")come nativo CSS3 - DOM manipulation — chain fluente
.addClass(),.attr(),.append() - Event handling —
.click(),.on(), cross-browser normalizzato - AJAX —
$.ajax(),$.get(),$.post()con promise-like callback - Effetti —
.fadeIn(),.slideDown(), animazioni CSS - Cross-browser — IE6+ senza effort da parte del dev
- Estensibilità —
$.fn.plugin = function(){}per plugin di terze parti
Ecosistema emergente
Attorno al core si sta formando un ecosistema di plugin: form validation, lightbox, carousels, lazy loading. Migliaia di sviluppatori contribuiscono snippet riutilizzabili.
Nel contesto italiano
jQuery si sta diffondendo in ogni agenzia web e team di sviluppo italiano. I CMS che dominano la scena (WordPress, Drupal, Joomla) iniziano a integrarlo come dipendenza di default.
Eredità potenziale
jQuery sta già plasmando generazioni di sviluppatori JavaScript e spinge i browser a convergere sugli standard (CSS selectors API, addEventListener). La convenzione $ per i selettori è un segno distintivo.
Riferimenti: jQuery 1.0 (26 agosto 2006). John Resig. Licenza MIT/GPL dual. Slogan “write less, do more”.
