Java Script

Ainda vale a pena utilizar o jQuery?

Ainda vale a pena utilizar o jQuery? Hoje trago aqui algumas reflexões sobre a biblioteca JavaScript mais famosa, o jQuery. Será que ainda vale a pena utilizá-lo? Ainda é muito comum ver empresas, tanto no Brasil quanto no exterior, cobrando o conhecimento de jQuery. Normalmente ocorre um dos dois motivos para esse requisito: falta de conhecimento de quem escreveu o perfil da vaga ou necessidade de dar suporte a um código legado.

Ainda vale a pena utilizar o jQuery? Primeiramente hoje trago aqui algumas reflexões sobre a biblioteca JavaScript mais famosa, o jQuery. Será que ainda vale a pena utilizá-lo? Ainda é muito comum ver empresas, tanto no Brasil quanto no exterior, cobrando o conhecimento de jQuery. Normalmente ocorre um dos dois motivos para esse requisito: falta de conhecimento de quem escreveu o perfil da vaga ou necessidade de dar suporte a um código legado.

A API do jQuery é bem simples de se aprender, então, nesse caso, será um ponto positivo em seu currículo (mesmo que provavelmente você nem precise utilizar na nova empresa), e não te tomará tanto tempo assim.

Conhecimento nunca é demais. Não precisa estar totalmente atualizado sobre as novidades e conhecer tudo o que está na documentação. Pelo menos saber como ele funciona, sim, vale muito a pena. Há muitos cenários possíveis no mundo da programação e pode aparecer um caso em que a ferramenta se encaixe perfeitamente para a sua necessidade.

Quando devo usar jQuery?

A maior parte dos desenvolvedores dirão “nunca!” para essa pergunta logo de prima. Mas, vamos analisar alguns pontos positivos:

1) Caso precise trabalhar com o DOM, o uso do jQuery pode ajudar, já que sua API é mais elegante e simples do que o JavaScript puro.

2) Caso esteja criando um projeto pequeno, como um site simples, não fará sentido usar um framework poderoso. Se for trabalhar com muitas funções das quais o jQuery possua, ele pode ser um belo aliado para se escrever menos código.

3) Outra vantagem é sua simplicidade. Normalmente a maioria dos desenvolvedores novatos conseguem aprender a usar jQuery mais rapidamente do que outros frameworks ou a API do DOM. Assim, eles já conseguem criar efeitos, animações, requisições e lidar com eventos.

4) Há muitos plugins e ferramentas que usam jQuery. É comum encontrar boas soluções para algumas situações e, nesses casos, o jQuery acaba sendo uma dependência obrigatória. Mas, se possível, prefira procurar algo independente de jQuery para não ter que incluí-lo apenas por causa de uma funcionalidade.

5) O jQuery era muito apreciado por normalizar as diferenças de funcionalidades que existiam entre navegadores. Então, caso ainda precise dar suporte a navegadores mais antigos, o jQuery pode ser uma boa pedida.

6) Por ser simples e direto ao ponto, pode ser perfeito caso esteja apenas precisando criar um protótipo rápido. Eu adoro tentar fazer várias coisas com CSS puro e evitar o máximo de JavaScript, mas tenho que admitir que animações e efeitos com jQuery são bem mais rápidos e simples de se escrever.

Quando evitar?

1) Hoje em dia temos várias funcionalidades do jQuery no próprio JavaScript e as animações são melhores quando feitas com CSS3. Caso só precise dar suporte aos navegadores modernos, provavelmente não precisará do jQuery.

2) Não é bom ficar acessando o DOM diretamente. Caso precise atualizar muito as informações na tela, exibir muitas informações ou acessar o DOM frequentemente, prefira um framework ao invés de usar jQuery ou JavaScript puro, pois eles já são otimizados para se trabalhar com templates, acessando o DOM o mínimo possível. Há também bibliotecas leves que servem apenas para criar componentes com uma ótima performance.

3) O jQuery tem como principal objetivo facilitar o uso de funcionalidades simples do JavaScript (“write less, do more”). Porém, em muitas aplicações será muito comum a necessidade de funcionalidades mais complexas como: roteamento, componentização, formatação, modularização, validações, etc. Nesses casos, para realmente escrever menos, você provavelmente precisará de um framework, o qual terá tantas funcionalidades que dispensará o uso de jQuery.

4) Ao escrever várias funcionalidades com jQuery, é muito comum misturar HTML no meio do JavaScript, dentro de funções. O uso de frameworks modernos nos ajuda a separar e manter o código mais organizado.

5) Em aplicações grandes, você terá muito mais trabalho para gerenciar cada pedaço do que cada código faz. Com jQuery, muitas funcionalidades serão escritas por você, enquanto que com um framework, muitas coisas já estarão prontas e testadas. Tem pessoas que tem medo de frameworks com muita “mágica”, porém, se você souber como usar estas “mágicas” a seu favor, você desenvolverá muito mais rápido e sem erros. As próprias linguagens de programação são “mágicas” em certas funcionalidades. Nós simplesmente aprendemos a utilizá-las ao invés de ficar pensando em como cada bit de informação será processado.

6) O site http://youmightnotneedjquery.com/ possui uma grande lista de funcionalidades do jQuery e como fazer o mesmo com JavaScript puro. Várias funcionalidades são simples de aprender, e as mais complexas você pode encapsular em uma função, evitando ter que incluir a biblioteca inteira caso precise apenas de uma ou outra, apenas.

Então, devo ou não utilizá-lo?

Como sempre, a maioria das coisas em programação resume-se em “depende”.

A melhor maneira de saber se deve ou não usar alguma coisa é ter um bom conhecimento sobre as ferramentas disponíveis, conhecimento da equipe, quais as necessidades do projeto, tempo disponível, etc.

Não há uma resposta absoluta. O melhor mesmo é ter a cabeça aberta para se fazer uma boa análise do que será necessário fazer no projeto e escolher as melhores ferramentas. Fuja de pessoas que usam a palavra “sempre” para alguma biblioteca ou framework pois, normalmente, possuem pouco conhecimento em outras ferramentas.

Espero que os pontos levantados aqui te ajudem a se decidir em seu próximo projeto. Caso tenha outras ideias de quando usar ou evitar, compartilhe com a gente aí nos comentários. =)