- A influência do jQuery na web é evidente
- Desde que foi apresentado pela primeira vez em 2006, tornou-se imediatamente uma ferramenta padrão para desenvolvedores web
- Simplificou a manipulação de documentos HTML, o tratamento de eventos, animações e muito mais
- Também teve um papel importante e contínuo na evolução dos padrões web e dos recursos dos navegadores
- Com o surgimento dos frameworks JavaScript mais recentes, diminuiu o número de desenvolvedores que escolhem jQuery para novos projetos, mas o uso global ainda continua muito alto
- Segundo a análise dos resultados de uma pesquisa da IDC, 90% de todos os sites usam jQuery
- Desses, cerca de 1/3 usa versões antigas
- A equipe do jQuery e a OpenJS Foundation estão trabalhando para resolver isso como parte da campanha Healthy Web checkup
- Este guia explica por que é importante manter a versão do jQuery atualizada e orienta o processo de upgrade
Por que o upgrade do jQuery é importante para a segurança
- Vulnerabilidades de segurança
- O código-base do jQuery pode ter várias vulnerabilidades, de XSS a RCE
- Sempre que são descobertas, a equipe do jQuery fornece patches e atualizações
- Ao fazer upgrade para a versão mais recente, essas correções de segurança são aplicadas, reduzindo o risco de exploração por atacantes
- Boas práticas de segurança
- As novas versões do jQuery incorporam boas práticas e melhorias de segurança para mitigar ameaças comuns
- Ao atualizar, é possível adotar essas práticas e fortalecer a postura de segurança da aplicação
- Requisitos de conformidade
- Muitos setores e frameworks regulatórios exigem manter o software atualizado e corrigir rapidamente vulnerabilidades de segurança conhecidas
- Se você não resolver os problemas de segurança fazendo upgrade do jQuery, pode acabar em não conformidade com esses requisitos
Suporte a navegadores
- jQuery 1.x, 2.x e 3.x têm listas diferentes de navegadores suportados
- No entanto, considerando o uso atual do mercado de navegadores, os navegadores suportados pelo jQuery 3.x, como IE 9+, são suficientes em quase todos os casos
- O jQuery 4.x continuará oferecendo suporte ao IE11, apesar de a Microsoft já ter anunciado o fim do suporte oficial
Como fazer upgrade do jQuery
- A equipe do jQuery fornece o plugin jQuery Migrate para tornar o upgrade o mais fácil possível
- É uma ferramenta de desenvolvimento que gera mensagens de aviso no console do navegador para ajudar a identificar e corrigir problemas de compatibilidade
- Ele restaura temporariamente recursos e comportamentos descontinuados para que o código antigo continue funcionando nas novas versões do jQuery enquanto você corrige os problemas de compatibilidade
- O jQuery Migrate tem duas versões, 1.x e 3.x (não existe 2.x)
- Deve-se usar apenas uma versão por vez
- Se o upgrade estiver sendo feito a partir de uma versão anterior ao jQuery 1.9, talvez seja necessário usar as duas versões em sequência
- Por exemplo, se a versão atual do jQuery for 1.4.4
- Primeiro, faça o upgrade para jQuery 1.12.4 usando o jQuery Migrate 1.x e, em seguida,
- use o jQuery Migrate 3.x para fazer upgrade para o jQuery mais recente (3.7.1 no momento)
- Se a versão atual for 2.2.4, é possível fazer upgrade para o jQuery mais recente usando apenas o jQuery Migrate 3.x
Como usar o jQuery Migrate
- Primeiro, adicione o jQuery Migrate à página depois de carregar o jQuery
- Em seguida, teste o site ou a aplicação
- Quando diferentes APIs do jQuery forem usadas, o jQuery Migrate registrará mensagens de aviso no console sobre itens descontinuados ou mudanças significativas
- Resolva cada aviso, um de cada vez
- Por fim, quando não houver mais avisos no console e todas as mudanças significativas tiverem sido resolvidas, remova o jQuery Migrate e a migração estará concluída
- Para mais detalhes, consulte o README do jQuery Migrate
Guias de upgrade do jQuery
- Os jQuery Upgrade Guides podem ser úteis se você quiser informações detalhadas sobre mudanças significativas ou ver a lista completa dessas mudanças em cada versão
- Os guias de upgrade do jQuery 1.9, 3.0 e 3.5 listam todas as mudanças significativas ocorridas em cada release
- A maioria das mudanças significativas listadas provavelmente não se aplicará ao seu código, mas esses guias acrescentam contexto e explicações para cada mudança
Observações sobre futuras versões do jQuery
- O jQuery 4.0 está se aproximando, então você pode estar se perguntando como será o processo de upgrade para o jQuery 4.x
- A resposta é: igual ao upgrade para o jQuery 3.x, e pode ser feito em uma única etapa
- Ou seja, não é necessário fazer upgrade para o jQuery 3.x antes de migrar para o jQuery 4.x
- É possível fazer upgrade diretamente do jQuery 1.9+ para o jQuery 4.x
- Também está previsto um guia de upgrade para o jQuery 4.0
Opinião do GN⁺
- Como o jQuery ainda é muito usado em muitos sites, o upgrade de versão continua sendo uma tarefa importante para desenvolvedores web
- Se versões antigas continuarem em uso, elas podem permanecer expostas a vulnerabilidades recém-descobertas e também apresentar problemas de desempenho
- No entanto, no caso de sistemas legados que usam versões antigas do jQuery, o upgrade pode consumir tempo e custo consideráveis
- Nesses casos, reduzir o risco com medidas como aplicar apenas patches de segurança também pode ser uma abordagem válida
- Com o uso do plugin Migrate e afins, o upgrade pode ser facilitado, mas ainda pode haver problemas de compatibilidade
- Isso tende a ser ainda mais provável em código legado com forte dependência de jQuery
- Para resolver isso, é necessária uma migração gradual
- Em projetos novos, pode ser vantajoso já projetar sem dependência de jQuery
- Usar Vanilla JS ou frameworks frontend modernos é uma abordagem mais voltada para o futuro
- Para desenvolvedores que vinham usando jQuery, esta também pode ser uma boa oportunidade para experimentar novas tecnologias e ampliar suas competências
3 comentários
Se você não atualizar o jQuery ou corrigir os problemas de segurança