Mitos do jQuery

Mito #1: O jQuery substitui JavaScript

O jQuery não é nenhuma linguagem; é apenas uma biblioteca. Bibliotecas/toolkits/frameworks JavaScript são “apenas” um conjunto de utilitários escritos em/para JavaScript que ajudam a gerir uma página e as suas interações. Nenhuma biblioteca JavaScript substitui o JavaScript; uma biblioteca apenas junta diversas funções e outros elementos com os objetivos de reutilização, simplicidade e rapidez de desenvolvimento. É certo que, por uma questão de coerência de código, se estivermos a usar uma biblioteca, as várias instruções JavaScript podem ser feitas recorrendo a essa biblioteca mas isso não quer dizer que apenas com JavaScript não se o faça.

Por outro lado, há situações em que não devemos forçar o uso de uma biblioteca. Quando a velocidade é determinante (e não há problemas de suporte cross-browser), é escusado colocar “mais chamadas no meio”; mais vale recorrer diretamente às API/JavaScript nativos do browser.

Assim, aprender jQuery não significa que não tenha de JavaScript; antes pelo contrário.

Mito #2: O jQuery serve para construir interfaces

Este é um grande mito que teima em permanecer. O JavaScript/jQuery servem essencialmente para pequenas manipulações no DOM. Deve evitar-se ao máximo construir partes da (ou toda a) interface em JavaScript/jQuery que, por norma, servem para definir comportamento; a estrutura da interface deve ser definida em markup HTML, o seu local por excelência (pela mesma razão que não se deve ter CSS no código ou JavaScript no markup). É suposto que JavaScript/jQuery manipulem elementos já existentes no DOM. É certo que por vezes é necessário criar elementos programaticamente (ex. $('<div />')), mas isso deve ser evitado. Por exemplo, em chamadas AJAX, o servidor pode enviar fragmentos em HTML; ou então o HTML pode já estar definido (escondido), ser manipulado e depois exibido.

Esta separação da interface do seu comportamento (apelidada de unobstrusive JavaScript) facilita a manutenção (ao programador web e ao web designer) mas também a graceful degradation, que dita que o site deve funcionar com o JavaScript inativo (pelo menos ter uma versão com a funcionalidade mínima) sem se tornar inutilizável.

Isto também se aplica ao jQuery UI e outros plugins que geralmente assumem que há markup HTML, conferindo-lhe apenas um look & feel.

Mito #3: O jQuery é a melhor biblioteca JavaScript

É certo que o jQuery é a biblioteca mais popular (cerca de 50% do top 1 milhão de sites usam-no), pela sua versatilidade e facilidade de aprendizagem. Contudo, é incorreto dizer que é a melhor. É raro haver uma “solução milagrosa” para todos os problemas; há apenas a ferramenta ideal para o problema em causa. Existem inúmeras bibliotecas JavaScript, fieis a diferentes filosofias, pelo que o programador deve escolher aquela que mais se adequa às necessidades (consoante os browsers e plataformas a suportar, as funcionalidades a desenvolver, etc.). Por vezes, nem sequer é precisa uma biblioteca, outras vezes basta usar polyfills. Noutras é possível recorrer a uma microframework (que se destina a colmatar uma necessidade muito específica)…

Em conclusão, não se deve forçar o uso de uma biblioteca em específico ou sequer de uma biblioteca. Deve haver argumentos que justifiquem o seu uso. Bons argumentos são o site/webapp adquirir alguma complexidade ou haver diversos browsers e/ou plataformas a suportar. Nessa altura, o jQuery é uma boa aposta, mas há que considerar outras possibilidades.

Publicado na edição 44 (PDF) da Revista PROGRAMAR.