jQuery és una biblioteca o framework de Javascript, creada inicialment per John Resig, que permet simplificar la manera d'interaccionar amb els documents HTML, manipular l'arbre DOM, gestionar esdeveniments, desenvolupar animacions i afegir interacció amb la tecnologia AJAX en pàgines web. Es va presentar el gener del 2006 a BarCamp NYC.D'acord amb una anàlisi de la Web (realitzat l'any 2017) JQuery és la biblioteca de JavaScript més utilitzada, per un ampli marge.
jQuery ofereix una sèrie de funcionalitats basades en Javascript que d'una altra manera requerien molt més codi, és a dir, amb les funcions d'aquesta biblioteca s'aconsegueixen bons resultats en menys temps i espai.
La sintaxi de JQuery està dissenyada per facilitar la navegació per un document, seleccionar elements DOM, crear animacions, manejar esdeveniments i desenvolupar aplicacions AJAX. JQuery també proporciona capacitats perquè els desenvolupadors creuen complements a la part superior de la biblioteca de JavaScript. Això permet als desenvolupadors crear abstraccions per interacció i animació de baix nivell, efectes avançats i ginys temàtics d'alt nivell. L'enfocament modular de la biblioteca jQuery permet la creació de poderoses pàgines web dinàmiques i aplicacions web.
El conjunt de característiques principals de jQuery (seleccions d'elements DOM, recorregut i manipulació) habilitats pel seu motor de selecció (denominat "Sizzla" de v1.3), van crear un nou "estil de programació", algoritmes de fusió i estructures de dades DOM. Aquest estil va influir en l'arquitectura d'altres marcs de JavaScript com Yahoo! UI Library i Dojo, el que més tard va estimular la creació de les API de selectors estàndard."Selectors API Level 1, W3C Recommendation" (21 February 2013). This standard turned what was jQuery "helper methods" into JavaScript-native ones, and the wide use of jQuery stimulated the fast adoption of querySelector/querySelectorAll into main Web browsers.
Les empreses Microsoft i Nokia van anunciar que incloïen la biblioteca a les seves plataformes. Microsoft l'afegeix al seu IDE Visual Studio i l'utilitzarà juntament amb el framework ASP.NET AJAX i ASP.NET MVC, mentre que Nokia els integrarà a la seva plataforma Web Run-Time.
Microsoft l'afegirà en el seu IDE Visual Studio i la farà servir juntament amb els frameworks ASP.NET AJAX i ASP.NET MVC, mentre que Nokia els integrarà amb la seva plataforma web Run-Time.
Visió general jQuery, en el seu nucli, és una biblioteca de manipulació de Model d'Objectes del Document (DOM). El DOM és una representació en estructura d'arbre de tots els elements d'una pàgina web. JQuery simplifica la sintaxi per buscar, seleccionar i manipular aquests elements DOM. Per exemple, JQuery es pot usar per trobar un element en el document amb una determinada propietat (per exemple, tots els elements amb una etiqueta h1), canviar un o més dels seus atributs (per exemple, color, visibilitat) o fer que respongui a un esdeveniment (per exemple, un clic del ratolí).
jQuery també proporciona un paradigma per al maneig d'esdeveniments que va més enllà de la selecció i manipulació bàsiques d'elements DOM. L'assignació d'esdeveniments i la definició de la funció de devolució de trucada d'esdeveniments es realitzen en un sol pas en una única ubicació en el codi. JQuery també pretén incorporar una altra funcionalitat de JavaScript molt utilitzada (per exemple, entrades i sortides de fos quan s'oculten elements, animacions mitjançant la manipulació de les propietats de CSS).
Els principis de desenvolupament amb JQuery són:
La separació de JavaScript i HTML: La biblioteca jQuery proporciona la sintaxi simple per afegir esdeveniments manipuladors a la DOM utilitzant JavaScript, en lloc d'afegir esdeveniments atributs HTML per cridar a funcions de JavaScript. Per tant, encoratja als desenvolupadors a separar completament el codi JavaScript del marcat HTML. Brevetat i claredat: JQuery promou la brevetat i la claredat amb funcions com a funcions "cadenades" i noms de funcions abreujats. Eliminació d'incompatibilitats entre navegadors: Els motors de JavaScript de diferents navegadors difereixen lleugerament, de manera que el codi JavaScript que funciona per a un navegador pot no funcionar per a un altre. Igual que altres kits d'eines de JavaScript, jQuery fa servir totes aquestes inconsistències en diversos navegadors i proporciona una interfície consistent que funciona en diferents navegadors. Extensibilitat: Els nous esdeveniments, elements i mètodes poden agregar fàcilment i després reutilitzar com un complement.
Història JQuery va ser creat el gener del 2006 a BarCamp NYC per John Resig, influenciat per l'anterior biblioteca cssQuery de Dean Edwards. Actualment el manté un equip de desenvolupadors liderat per Timmy Willison (amb el motor de selecció de jQuery, Sizzla, liderat per Richard Gibson).
JQuery va ser originalment llicenciada sota el CC BY-SA 2.5, i se li va atorgar la Llicència X11 (MIT) l'any 2006. on jquery.org (2006) A finals de 2006, tenia doble llicència sota les llicències GPL i MIT.license on jquery.org (archived 2010) Com que això va portar a certa confusió, el 2012 es va eliminar la GPL i ara només està autoritzada sota la llicència MIT. on jquery.org (2012)
El 2015, JQuery es va utilitzar en el 63% del milió de llocs web principals (segons BuiltWith) i en el 17% de tots els llocs web de Internet. a partir d'juny de 2018, JQuery s'usa en el 73% del milió de llocs web més importants i en el 22,4% de tots els llocs web (segons BuiltWith).
Des de l'any 2019, JQuery s'usa en el 79,47% del milió de llocs web més importants i en el 86% de tots els llocs web (segons BuiltWith), sent la biblioteca de JavaScript més popular fins al moment.
Característiques JQuery inclou les següents característiques:
Selecció d'elements DOM utilitzant el motor de selecció de codi obert de múltiples navegadors Sizzla, un spin-off del projecte jQuery. Interactivitat i modificacions de l'arbre DOM, incloent suport per a CSS 1-3 i un connector bàsic de XPath. Esdeveniments. Manipulació del full d'estils CSS. Efectes i animacions. Animacions personalitzades. AJAX. Objectes diferits i de promesa per controlar el processament asíncron Suporta extensions (JSON). Utilitats diverses com obtenir informació del navegador, operar amb objectes i vectors, funcions per rutines comuns, etc. Mètodes de compatibilitat que estan disponibles de forma nativa amb els navegadors Mozilla Firefox 2.0+, Internet Explorer 6+, Safari 3+, Opera 10.6+ i Google Chrome 8 +. Suport per múltiples navegadors
Versions Data de versióNúmero de versióNotes addicionals26 d'agost de 20061.0Primera versió estable31 d'agost de 20061.0.19 d'octubre de 20061.0.227 d'octubre de 20061.0.312 de desembre de 20061.0.4Últim arranjament de la versió 1.014 de gener de 20071.122 de gener de 20071.1.127 de febrer de 20071.1.21 de juliol de 20071.1.35 de juliol de 20071.1.3.124 d'agost de 20071.1.4Últim arranjament de la versió 1.110 de setembre de 20071.216 de setembre de 20071.2.115 de gener de 20081.2.28 de febrer de 20081.2.319 de maig de 20081.2.421 de maig de 20081.2.5Arreglo por mala construcción de 1.2.424 de maig de 20081.2.6Últim arranjament de la versió 1.214 de gener de 20091.3S'introdueix el motor de selecció de Sizzle en el nucli21 de gener de 20091.3.120 de febrer de 20091.3.2Últim arranjament de la versió 1.314 de gener de 20101.4Creen una pàgina web específica per jQuery 1.425 de gener de 20101.4.119 de febrer de 20101.4.216 d'octubre de 20101.4.311 de novembre de 20101.4.4Últim arranjament de la versió 1.431 de gener de 20111.5Re-escriptura del modul AJAX24 de febrer de 20111.5.131 de març de 20111.5.2Últim arranjament de la versió 1.53 de maig de 20111.612 de maig de 20111.6.130 de juny de 20111.6.21 de setembre de 20111.6.312 de setembre de 20111.6.43 de novembre de 20111.7 Afegides les funcions .on() i .off() Millor suport de HTML5 per IE6/7/8 Suport per AMD (Asynchronous Module Definition)21 de novembre de 20111.7.121 de març de 20121.7.29 d'agost de 20121.830 d'agost de 20121.8.120 de setembre de 20121.8.213 de novembre de 20121.8.31 de gener de 20131.9 Simplificació de la API Millora del suport per CSS3 Suport per Source map Solucionats varis bugs.30 de maig de 20131.10.1Solucionat bug greu de la versió 1.924 de gener de 20141.11 Velocitat de processament augmentada Canvis a nivell de publicació de JQuery Modularitat definida per AMD Eliminats layouts forçats20 de maig de 20161.12 Canvis a nivell de publicació de JQuery Errors de la versió anterior corregits.18 d'abril de 20132.0 Primer llançament de les versions 2.X Pèrdua de compatibilitat amb Internet Explorer (6, 7 ,8) Reducció de mida en comparació amb la versió 1.9.124 de gener de 20142.1 Primera actualització de les versions 2.X Menys dissenys forçats Cost general d'arrancada més baixos Primera vegada que es publica en NPM i Bower8 de gener de 20162.2 Última actualització de les versions 2.X Millora de rendiment Cost general d'arrancada més baixos Noves característiques9 de juny de 20163.0 Primera actualització de las versions 3.X Compatibilitat amb Jquery UI i Jquery Mobile7 de juliol de 20163.1.0 Segona actualització de les versions 3.X Correccions de bugs de la versió anterior22 de setembre de 20163.1.1 Correccions de bugs de la versió anterior16 de març de 20173.2.0 Tercera actualització de les versions 3.X Suports per propietats CSS personalitzades Correcció en errors al ajustar la mida vertical i horitzontal20 de març de 20173.2.1 Canvi en el nucli Reforç per les dimensions verticals i horitzontals Canvis en els esdeveniments19 de gener de 20183.3.0 Quarta actualització de les versions 3.X S'eliminen varies funcions Es deixa d'utilitzar PhantomJS per executar proves20 de gener de 20183.3.1 Canvi per adaptar-se a la versió 5.X de NPM10 d'abril de 20193.4.0 Cinquena actualització de les versions 3.X Millora de rendiment en canvis de alt i ample Canvi en el maneig dels input de tipus radi Arranjament de vulnerabilitats Eliminació dels selectors de posició
Referències
Enllaços externs
Lloc oficial de Jquery API de jQuery Exemple de sistema ABM utilitzant jQuery
Categoria:Informàtica Categoria:Programació Categoria:Ajax (programació)