jQuery -
Pero nos últimos anos, a súa condición de ferramenta principal para o desenvolvemento web erosionouse. Vexamos por que jQuery se popularizou e por que pasou de moda, e tamén en que casos aínda é recomendable usalo para crear sitios web modernos.
Breve historia de jQuery
John Resig (
jQuery é unha biblioteca de Javascript baseada no lema: Javascript debería ser divertido de codificar. jQuery leva tarefas comúns e repetitivas, elimina todas as marcas innecesarias e fai que sexan curtas, elegantes e limpas.
jQuery ten dúas vantaxes principais. O primeiro é unha API conveniente para manipular páxinas web. En particular, ofrece métodos poderosos para seleccionar elementos. Non só pode seleccionar por ID ou clase, jQuery permítelle escribir expresións complexas, por exemplo, para seleccionar elementos en función das súas relacións con outros elementos:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Co paso do tempo, o mecanismo de selección converteuse nunha biblioteca separada
A segunda vantaxe da biblioteca era que abstraía as diferenzas entre os navegadores. Naqueles anos, era difícil escribir código que puidese funcionar de forma fiable en todos os navegadores.
A falta de estandarización fixo que os desenvolvedores necesitasen ter en conta as numerosas diferenzas entre os navegadores e os casos extremos. Bótalle un ollo
// 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);
}
E grazas a jQuery, os desenvolvedores poderían trasladar as preocupacións sobre todas estas trampas aos ombreiros do equipo que desenvolve a biblioteca.
Máis tarde, jQuery facilitou a implementación de tecnoloxías máis complexas como animacións e Ajax. A biblioteca converteuse efectivamente nunha dependencia estándar para sitios web. E hoxe alimenta unha gran parte de Internet. W3Techs cre iso
O control sobre o desenvolvemento de jQuery tamén se formalizou. En 2011 o equipo
En 2015, a Fundación jQuery fusionouse coa Fundación Dojo,
Circunstancias cambiantes
Non obstante, nos últimos anos jQuery
Navegadores
Por varias razóns, as diferenzas e limitacións do navegador fixéronse menos importantes. En primeiro lugar, a normalización mellorou. Os principais desenvolvedores de navegadores (Apple, Google, Microsoft e Mozilla) están a traballar xuntos para desenvolver
Aínda que os navegadores aínda difieren entre si en varias formas importantes, os provedores teñen polo menos medios para buscar e crear unha base de datos común en lugar 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étodos
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Agora podes manipular clases de elementos usando
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
A web
O uso de funcións nativas mellora o rendemento da páxina. Moitas
A segunda razón é que os navegadores actualízanse moito máis rápido que antes. A maioría deles usan
Isto significa que as novas funcións do navegador e as correccións de erros distribúense moito máis rápido e os desenvolvedores non teñen que esperar ata que
A terceira razón é que Internet Explorer achégase a un estado de completa irrelevancia. IE foi durante moito tempo a perdición do desenvolvemento web en todo o mundo. Os seus erros foron xeneralizados, e debido a que IE dominaba a década de 2000 e non utilizaba unha estratexia de actualización perenne, as versións máis antigas aínda son comúns.
En 2016, Microsoft acelerou o desmantelamento de IE,
Incluso jQuery deixou de admitir IE 8 e inferior a partir de
Novos marcos
Desde a aparición de jQuery, creáronse moitos frameworks, incluídos os líderes modernos
En primeiro lugar, facilitan a separación da interface de usuario en compoñentes. Os marcos están deseñados para xestionar a representación e actualización de páxinas. E jQuery adoita usarse só para actualizar, deixando a tarefa de proporcionar a páxina inicial ao servidor.
Por outra banda, os compoñentes React, Angular e Vue permítenche acoplar HTML, código e incluso CSS. Do mesmo xeito que dividimos a base de código en moitas funcións e clases autónomas, a capacidade de dividir a interface en compoñentes reutilizables facilita a creación e o mantemento de sitios complexos.
A segunda vantaxe é que os frameworks máis recentes adhírense a un paradigma declarativo, no que o desenvolvedor describe como debería ser a interface e deixa que o framework faga todos os cambios necesarios para conseguir o que se desexa. Este enfoque é contrario ao enfoque imperativo que caracteriza o código jQuery.
En jQuery, escribe explícitamente os pasos para facer calquera cambio. E nun marco declarativo dis: "Segundo estes datos, a interface debería verse así". Isto pode facilitar moito a escritura de código sen erros.
Os desenvolvedores adoptaron novos enfoques para o desenvolvemento de sitios web, polo que a popularidade de jQuery diminuíu.
Cando usar jQuery?
Entón cando debe ser usar jQuery?
Se a complexidade do proxecto aumenta, entón é mellor comezar con outra biblioteca ou marco que lle permita xestionar a complexidade de forma significativa. Por exemplo, divide a interface en compoñentes. O uso de jQuery nestes sitios pode parecer ben ao principio, pero levará rapidamente a un código espagueti no que non estás seguro de que fragmento afecta a que parte da páxina.
Estiven nunha situación así, cando intento facer algún cambio, paréceme unha tarefa difícil. Non podes estar seguro de que non romperás nada porque os selectores de jQuery dependen da estrutura HTML xerada polo servidor.
No outro extremo da escala están sitios sinxelos que só requiren un pouco de interactividade ou contido dinámico. Tampouco utilizaría jQuery por defecto nestes casos, porque hai moito máis que podes facer coas API nativas.
Aínda que necesite algo máis potente, buscarei unha biblioteca especializada, p.
Creo que a mellor razón para usar jQuery é que ofrece unha funcionalidade completa para o front end dun sitio web. En lugar de aprender unha variedade de API nativas ou bibliotecas especializadas, podes ler só a documentación de jQuery e ser produtivo ao instante.
O enfoque imperativo non escala ben, pero é máis fácil de aprender que o enfoque declarativo doutras bibliotecas. Para un sitio con capacidades claramente limitadas, é mellor usar jQuery e traballar con calma: a biblioteca non require montaxe ou compilación complexa.
Ademais, jQuery é bo se estás seguro de que o teu sitio non se complicará co paso do tempo e se non che importa a funcionalidade nativa, o que certamente requirirá escribir máis código que jQuery.
Tamén podes usar esta biblioteca se precisas admitir versións antigas de IE. Entón jQuery servirache como o facía na época en que IE era o navegador máis popular.
prospección
jQuery non desaparecerá pronto. Ela
A menos que a funcionalidade de jQuery cambie significativamente, é probable que o uso da biblioteca continúe diminuíndo lentamente pero constantemente nos próximos anos. Os novos sitios web adoitan construírse utilizando marcos máis modernos desde o principio, e os casos de uso axeitados para jQuery son cada vez máis raros.
Algunhas persoas non lles gusta o ritmo ao que as ferramentas de desenvolvemento web quedan obsoletas, pero para min é unha proba de progreso rápido. jQuery permitiunos facer moitas cousas mellor. O mesmo ocorre cos seus sucesores.
Fonte: www.habr.com