jQuery -
Però en els darrers anys, el seu estatus com a eina principal per al desenvolupament web s'ha erosionat. Vegem per què jQuery es va popularitzar i per què va passar de moda, i també en quins casos encara és recomanable utilitzar-lo per crear llocs web moderns.
Una breu història de jQuery
Joan Resig (
jQuery és una biblioteca de Javascript basada en el lema: Javascript hauria de ser divertit de codificar. jQuery fa tasques comunes i repetitives, elimina totes les marques innecessàries i les fa curtes, elegants i netes.
jQuery té dos avantatges principals. El primer és una API convenient per manipular pàgines web. En particular, proporciona mètodes potents per seleccionar elements. No només podeu seleccionar per identificador o classe, jQuery us permet escriure expressions complexes, per exemple, per seleccionar elements en funció de les seves relacions amb altres elements:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Amb el temps, el mecanisme de selecció es va convertir en una biblioteca separada
El segon avantatge de la biblioteca era que abstraia les diferències entre navegadors. En aquells anys, era difícil escriure codi que pogués funcionar de manera fiable en tots els navegadors.
La manca d'estandardització va fer que els desenvolupadors havien de tenir en compte les nombroses diferències entre navegadors i casos de punta. Fes una ullada a
// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
// Use the handy event callback
jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );
// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {
// Only works if you document.write() it
document.write("<scr" + "ipt id=__ie_init defer=true " +
"src=javascript:void(0)></script>");
// Use the defer script hack
var script = document.getElementById("__ie_init");
script.onreadystatechange = function() {
if ( this.readyState == "complete" )
jQuery.ready();
};
// Clear from memory
script = null;
// If Safari is used
} else if ( jQuery.browser == "safari" ) {
// Continually check to see if the document.readyState is valid
jQuery.safariTimer = setInterval(function(){
// loaded and complete are both valid states
if ( document.readyState == "loaded" ||
document.readyState == "complete" ) {
// If either one are found, remove the timer
clearInterval( jQuery.safariTimer );
jQuery.safariTimer = null;
// and execute any waiting functions
jQuery.ready();
}
}, 10);
}
I gràcies a jQuery, els desenvolupadors podrien traslladar les preocupacions sobre totes aquestes trampes a les espatlles de l'equip que desenvolupa la biblioteca.
Més tard, jQuery va facilitar la implementació de tecnologies més complexes com ara animacions i Ajax. La biblioteca s'ha convertit efectivament en una dependència estàndard per als llocs web. I avui alimenta una gran part d'Internet. W3Techs ho creu
El control sobre el desenvolupament de jQuery també s'ha formalitzat més. L'any 2011 l'equip
El 2015, la Fundació jQuery es va fusionar amb la Fundació Dojo,
Circumstàncies canviants
No obstant això, en els últims anys jQuery
Navegadors
Per diverses raons, les diferències i limitacions del navegador han esdevingut menys importants. En primer lloc, l'estandardització ha millorat. Els principals desenvolupadors de navegadors (Apple, Google, Microsoft i Mozilla) estan treballant junts per desenvolupar-lo
Tot i que els navegadors encara difereixen entre si en diverses maneres importants, els venedors almenys tenen un mitjà per cercar i crear una base de dades comuna en lloc de
// jQuery
$.getJSON('https://api.com/songs.json')
.done(function (songs) {
console.log(songs);
})
// native
fetch('https://api.com/songs.json')
.then(function (response) {
return response.json();
})
.then(function (songs) {
console.log(songs);
});
Mètodes
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Ara podeu manipular classes d'elements utilitzant
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
El lloc
L'ús de funcions natives millora el rendiment de la pàgina. Molts
La segona raó és que els navegadors s'actualitzen molt més ràpid que abans. La majoria d'ells utilitzen
Això vol dir que les noves funcions del navegador i les correccions d'errors es distribueixen molt més ràpidament i els desenvolupadors no han d'esperar fins al
La tercera raó és que Internet Explorer s'acosta a un estat de total irrellevància. IE ha estat durant molt de temps el mal del desenvolupament web a tot el món. Els seus errors estaven generalitzats, i com que IE va dominar la dècada del 2000 i no va utilitzar una estratègia d'actualització perenne, les versions anteriors encara són habituals.
El 2016, Microsoft va accelerar el desmantellament d'IE,
Fins i tot jQuery va deixar de donar suport a IE 8 i posteriors a partir de
Nous marcs
Des de l'aparició de jQuery, s'han creat molts frameworks, inclosos els líders moderns
En primer lloc, faciliten la separació de la interfície d'usuari en components. Els marcs estan dissenyats per gestionar la representació i l'actualització de pàgines. I jQuery s'utilitza normalment només per a l'actualització, deixant la tasca de proporcionar la pàgina inicial al servidor.
D'altra banda, els components React, Angular i Vue us permeten combinar estretament HTML, codi i fins i tot CSS. De la mateixa manera que dividim la base de codi en moltes funcions i classes autònomes, la capacitat de dividir la interfície en components reutilitzables facilita la creació i el manteniment de llocs complexos.
El segon avantatge és que els frameworks més recents s'adhereixen a un paradigma declaratiu, en el qual el desenvolupador descriu com hauria de ser la interfície i deixa que el framework faci tots els canvis necessaris per aconseguir el que es desitja. Aquest enfocament és contrari a l'enfocament imperatiu que caracteritza el codi jQuery.
A jQuery, escriviu explícitament els passos per fer qualsevol canvi. I en un marc declaratiu dius: "Segons aquestes dades, la interfície hauria de ser així". Això pot fer que escriure codi sense errors sigui molt més fàcil.
Els desenvolupadors han adoptat nous enfocaments per al desenvolupament de llocs web, per això la popularitat de jQuery ha disminuït.
Quan utilitzar jQuery?
Doncs quan ha de ser utilitzar jQuery?
Si la complexitat del projecte augmenta, és millor començar amb una altra biblioteca o marc que us permeti gestionar de manera significativa la complexitat. Per exemple, dividiu la interfície en components. L'ús de jQuery en aquests llocs pot semblar bé al principi, però ràpidament donarà lloc a un codi spaghetti on no esteu segur de quin fragment afecta quina part de la pàgina.
He estat en una situació així, quan intento fer qualsevol canvi, em sembla una tasca difícil. No podeu estar segur que no trencareu res perquè els selectors de jQuery depenen de l'estructura HTML generada pel servidor.
A l'altre extrem de l'escala hi ha llocs senzills que només requereixen una mica d'interactivitat o contingut dinàmic. Tampoc em faria jQuery per defecte en aquests casos, perquè hi ha molt més que podeu fer amb les API natives.
Encara que necessito alguna cosa més potent, buscaré una biblioteca especialitzada, p.
Crec que la millor raó per utilitzar jQuery és que ofereix una funcionalitat completa per a la interfície d'un lloc web. En lloc d'aprendre una varietat d'API natives o biblioteques especialitzades, podeu llegir només la documentació de jQuery i ser instantàniament productiu.
L'enfocament imperatiu no s'escala bé, però és més fàcil d'aprendre que l'enfocament declaratiu d'altres biblioteques. Per a un lloc amb capacitats clarament limitades, és millor utilitzar jQuery i treballar amb calma: la biblioteca no requereix un muntatge ni una compilació complexos.
A més, jQuery és bo si esteu segur que el vostre lloc no es complicarà amb el temps i si no us importa la funcionalitat nativa, que sens dubte requerirà escriure més codi que jQuery.
També podeu utilitzar aquesta biblioteca si necessiteu suportar versions anteriors d'IE. Aleshores, jQuery us servirà com ho feia en els dies en què IE era el navegador més popular.
prospecció
jQuery no desapareixerà aviat. Ella
A menys que la funcionalitat de jQuery canviï significativament, és probable que l'ús de la biblioteca continuï disminuint lentament però de manera constant durant els propers anys. Els nous llocs web solen crear-se amb marcs més moderns des del principi, i els casos d'ús adequats per a jQuery són cada cop més rars.
A algunes persones no els agrada el ritme al qual les eines de desenvolupament web queden obsoletes, però per a mi és una evidència d'un progrés ràpid. jQuery ens ha permès fer moltes coses millor. El mateix passa amb els seus successors.
Font: www.habr.com