Minha jornada com jQuery
09/06/2025
jQuery é uma velha conhecida, lembro bem das circunstâncias que me levaran a ela e como mudou completamente a forma de escrever JavaScript. Devia ser ali por 2009, eu estava trabalhando na Criatura (abraço, Ricardo Ricchini) em sites com abertura, interface, sons, animação… Foi uma outra web, a web 1.5 digamos assim. Ainda existia espaço para interfaces ousadas e assimétricas que resultavam em obras lindas e também algumas aberrações.
Mas o Adobe Flash (antes, Macromedia Flash) já estava dando sinais de cansaço e foi sendo deixado de lado aos poucos, acredito que muito por causa da decisão da Apple (ou melhor, de Steve Jobs) de não dar suporte nativo no iOS. E aí os designers, webmasters (ainda existe isso hoje?) e publicitários se viram órfãos de uma ferramenta para criar elementos, animações e efeitos. Por pouco tempo.
Não que a jQuery tenha sido criada para substituir o Flash, ela já estava na versão 1.4 em 2010. Mas definitivamente o interesse na biblioteca aumentou muito graças ao triste funeral.swf e caiu como uma luva. Com pouco código já era possível criar animações simples. Dedicando mais tempo, era possível integrar facilmente elementos HTML sem se preocupar com compatibilidade de browsers e, adicionando CSS na brincadeira, era possível sim criar coisas fantásticas. Eu mesmo, com meu gosto duvidoso e noção de design de um preá pós-moderno, consegui criar coisas bem legais.
Admito que não é o mesmo que tinha antes com o Flash. Nunca consegui transpor 100% de um site em Flash para jQuery - além do que, quem iria querer fazer isso, né? Construir sites artísticos começou a ficar incomum. Estávamos nos primeiros passos da web 2.0, redes sociais, blogs, apps mobile etc estava dando o tom de como seria web design dali em diante e o trunfo da jQuery estava justamente em poder escrever códigos para dar beleza onde deveria ter e mais agilidade em todo lugar. Sites com formulários grandes, menus com submenus com subsubmenus… o que antes era feito com desenho e linha do tempo virou puro código - e eu tomei gosto por isso!
O tal do AJAX
Nem tudo são flores, é claro. Hoje mesmo tive de refatorar algumas telas que estavam demorando demais para mostrar o conteúdo pois estava usando AJAX - na jQuery, é claro. A idéia é simples e muito comum: eu tenho um serviço que preciso consultar para montar uma tabela, e se clico em diferentes períodos, isso serve como um filtor para consultar novamente o serviço e atualizar a tabela. Logo, nada mais natural do que usar o XHR (que poderia ser fetch, porém tenho que pensar nos velhos, como sempre). Mas a estratégia no fim deu errado porque, para manipular elementos no DOM é necessário esperar que a página carregue toda e isso estava demorando demais pois, junto com minha requisição XHR existia mais uma penca de outras que já estavam lá antes e outras requisições síncronas que atravasam tudo.
A solução foi abandonar o assíncrono e trazer a tabela junto com a página, fazendo isso em cada requisição. Claro, isso faz com que a partir da segunda requisição o tempo de carregamento leve mais tempo do que era antes, mas é melhor assim do que demorar muito para aparecer a primeira requisição - um usuário pode facilmente abandonar uma tela que não carrega da primeira vez, mas isso não acontece muito se essa demora vier depois que ele já entrou e começou a ver o que estava procurando. Fonte: my guts.
Voltando à jQuery e um pouco da minha história com ela… Algum tempo depois de usa-lq diariamente, ver novas versões aparecendo, ver o CSS 3 chegar, vendo a lib ser adotada em praticamente todo CMS e framework web… o JS também estava evoluindo. Veio o EcmaScript 6 que já trouxe muita coisa legal para o JS que eu havia aprendido no jQuery. Ainda gosto de usar a lib, e faço até hoje, junto com Javascript vanilla puríssimo - mas procuro não misturar os dois, ao menos não no mesmo módulo. Houve um período, não muito tempo atrás, que enfiei a idéia na cabeça de que PRECISAVA aprender React, pra fazer interfaces usando techs mais novas, mais robustas. Durou pouco porque eu nunca fiquei muito tempo usando tecnologias novas, sempre acabo voltando para as antigas. Não por escolha nem por acaso, mas sim porque é onde o trabalho (e o dinheiro) está, é o que os grandes sites usam - sites, viu? Não estou falando de apps móveis.
E se ver bem debaixo do capô, é tudo Javascript. Para no final, ser tudo HTML. E continuarei usando muito jQuery ainda - não fiz ainda neste blog, mas pode ter certeza de que a hora vai chegar para que eu escreve $(window).load por aqui.