jQuery -
Mas, nos últimos anos, seu status como principal ferramenta para desenvolvimento web diminuiu. Vejamos por que o jQuery se tornou popular e por que saiu de moda, e também em que casos ainda é aconselhável usá-lo para criar sites modernos.
Uma breve história do jQuery
John Resig (
jQuery é uma biblioteca Javascript baseada no lema: Javascript deve ser divertido de codificar. jQuery pega tarefas comuns e repetitivas, elimina todas as marcações desnecessárias e as torna curtas, elegantes e limpas.
jQuery tem duas vantagens principais. A primeira é uma API conveniente para manipular páginas da web. Em particular, fornece métodos poderosos para selecionar elementos. Não apenas você pode selecionar por ID ou classe, o jQuery permite escrever expressões complexas, por exemplo, para selecionar elementos com base em seus relacionamentos com outros elementos:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Com o tempo, o mecanismo de seleção tornou-se uma biblioteca separada
A segunda vantagem da biblioteca era que ela abstraía as diferenças entre os navegadores. Naquela época, era difícil escrever código que funcionasse de maneira confiável em todos os navegadores.
A falta de padronização significava que os desenvolvedores precisavam levar em conta inúmeras diferenças entre navegadores e casos extremos. Dê uma olhada
// 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 graças ao jQuery, os desenvolvedores puderam transferir as preocupações sobre todas essas armadilhas para os ombros da equipe que desenvolve a biblioteca.
Posteriormente, o jQuery facilitou a implementação de tecnologias mais complexas, como animações e Ajax. A biblioteca tornou-se efetivamente uma dependência padrão para sites. E hoje ele alimenta uma grande parte da Internet. A W3Techs acredita que
O controle sobre o desenvolvimento do jQuery também se tornou mais formalizado. Em 2011 a equipe
Em 2015 a jQuery Foundation fundiu-se com a Dojo Foundation
Mudança de circunstâncias
No entanto, nos últimos anos jQuery
Browsers
Por uma série de razões, as diferenças e limitações dos navegadores tornaram-se menos importantes. Primeiro, a padronização melhorou. Os principais desenvolvedores de navegadores (Apple, Google, Microsoft e Mozilla) estão trabalhando juntos para desenvolver
Embora os navegadores ainda difiram entre si em vários aspectos importantes, os fornecedores têm pelo menos um meio de pesquisar e criar um banco de dados comum em vez 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 você pode manipular classes de elementos usando
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
O site
O uso de recursos nativos melhora o desempenho da página. Muitos
A segunda razão é que os navegadores são atualizados muito mais rápido do que antes. A maioria deles usa
Isso significa que novos recursos do navegador e correções de bugs são distribuídos com muito mais rapidez e os desenvolvedores não precisam esperar até que o
A terceira razão é que o Internet Explorer está se aproximando de um estado de completa irrelevância. O IE tem sido a ruína do desenvolvimento web em todo o mundo. Seus bugs eram generalizados e, como o IE dominou a década de 2000 e não usou uma estratégia de atualização permanente, versões mais antigas ainda são comuns.
Em 2016, a Microsoft acelerou o descomissionamento do IE,
Até o jQuery parou de oferecer suporte ao IE 8 e versões anteriores a partir de
Novas estruturas
Desde o advento do jQuery, muitos frameworks foram criados, incluindo líderes modernos
Primeiro, eles facilitam a separação da interface do usuário em componentes. Frameworks são projetados para lidar com renderização e atualização de páginas. E o jQuery costuma ser usado apenas para atualização, cabendo ao servidor a tarefa de fornecer a página inicial.
Por outro lado, os componentes React, Angular e Vue permitem unir HTML, código e até CSS. Assim como dividimos a base de código em muitas funções e classes independentes, a capacidade de dividir a interface em componentes reutilizáveis facilita a construção e a manutenção de sites complexos.
A segunda vantagem é que os frameworks mais recentes aderem a um paradigma declarativo, em que o desenvolvedor descreve como deve ser a interface e deixa para o framework fazer todas as alterações necessárias para alcançar o que deseja. Esta abordagem é contrária à abordagem imperativa que caracteriza o código jQuery.
No jQuery, você anota explicitamente as etapas para fazer alterações. E em uma estrutura declarativa você diz: “De acordo com esses dados, a interface deve ficar assim”. Isso pode tornar muito mais fácil escrever código sem erros.
Os desenvolvedores adotaram novas abordagens para o desenvolvimento de sites, e é por isso que a popularidade do jQuery diminuiu.
Quando usar jQuery?
Então quando deveria usar jQuery?
Se a complexidade do projeto aumentar, é melhor começar com outra biblioteca ou estrutura que permita gerenciar a complexidade de forma significativa. Por exemplo, divida a interface em componentes. Usar jQuery nesses sites pode parecer bom no início, mas rapidamente levará a um código espaguete onde você não tem certeza de qual fragmento afeta qual parte da página.
Já estive nessa situação, ao tentar fazer qualquer mudança parece uma tarefa difícil. Você não pode ter certeza de que não quebrará nada porque os seletores jQuery dependem da estrutura HTML gerada pelo servidor.
No outro extremo da escala estão os sites simples que requerem apenas um pouco de interatividade ou conteúdo dinâmico. Eu também não usaria jQuery nesses casos, porque há muito mais que você pode fazer com APIs nativas.
Mesmo que eu precise de algo mais poderoso, procurarei uma biblioteca especializada, por ex.
Acho que a melhor justificativa para usar jQuery é que ele fornece funcionalidades abrangentes para o front-end de um site. Em vez de aprender uma variedade de APIs nativas ou bibliotecas especializadas, você pode ler apenas a documentação do jQuery e tornar-se produtivo instantaneamente.
A abordagem imperativa não é bem dimensionada, mas é mais fácil de aprender do que a abordagem declarativa de outras bibliotecas. Para um site com capacidades claramente limitadas, é melhor usar jQuery e trabalhar com calma: a biblioteca não requer montagem ou compilação complexa.
Além disso, o jQuery é bom se você tiver certeza de que seu site não ficará complicado com o tempo e se não se importar com a funcionalidade nativa, o que certamente exigirá a escrita de mais código do que o jQuery.
Você também pode usar esta biblioteca se precisar oferecer suporte a versões mais antigas do IE. Então o jQuery irá atendê-lo como acontecia na época em que o IE era o navegador mais popular.
Prospecção
jQuery não desaparecerá tão cedo. Ela
A menos que a funcionalidade do jQuery mude significativamente, é provável que o uso da biblioteca continue a diminuir lenta mas continuamente nos próximos anos. Novos sites tendem a ser construídos usando estruturas mais modernas desde o início, e casos de uso adequados para jQuery estão se tornando cada vez mais raros.
Algumas pessoas não gostam da velocidade com que as ferramentas de desenvolvimento web se tornam obsoletas, mas para mim isso é uma evidência de um rápido progresso. jQuery nos permitiu fazer muitas coisas melhor. O mesmo se aplica aos seus sucessores.
Fonte: habr.com