JSLint foi usado para controle de qualidade do jQuery. Ao longo do código-fonte original do jQuery, Resig destaca alguns dos JS não tão bons nele, como expressões regulares “gnarly”. (Seus padrões de qualidade de código são muito mais altos do que meros mortais como eu.) Resig diz que tudo isso acabou sendo resolvido usando JSLint, uma ferramenta popular de análise de código.
jQuery não tinha nenhuma funcionalidade Ajax. Os aplicativos da Web assíncronos estavam em alta no início e meados dos anos 2000. Atualmente, espera-se que todos os aplicativos da Web sejam compatíveis com assíncrona. Não é nada de especial.
Mas, naquela época, era um conceito verdadeiramente revolucionário. Todos os desenvolvedores web na época estavam entrando na onda. Todos queríamos evitar recarregar a página inteira apenas para atualizar uma pequena parte do DOM.
Mas o jQuery estranhamente não veio com nenhum método auxiliar Ajax na primeira versão.
jQuery não usava chaves se não fosse necessário. (Você sabe quem mais não usava chaves naquela época? Chuck Norris.) É uma prática recomendada convencional sempre usar chaves para instruções de bloco, mesmo que JavaScript as torne opcionais em alguns casos.
O uso de chaves evita erros. Principalmente em equipes. Se você executou seus scripts por meio de uma ferramenta de análise de código como o JSLint, ele reclamará da falta de chaves. Mas o projeto jQuery originalmente preferia omitir chaves opcionais.
“Eu realmente não gostava de usar aparelhos desnecessários”, explica Resig. “Esta… infeliz… preferência de estilo nos atormentou por um bom tempo e causou todos os tipos de erros de lógica evitáveis.” Portanto, na primeira versão do jQuery, você encontrará um código como este:
if ( !b ) for ( var j in a ) this.style[j] = a[j]; else this.style[a] = b;
Com chaves, o acima seria escrito como:
if ( !b ) { for ( var j in a ) { this.style[j] = a[j]; } } else { this.style[a] = b; }
Nota lateral: eu também era fã de não usar chaves se não precisasse.
No momento,Achei mais fácil de ler.Não, honestamente, foi porque ir sem chaves se assemelhava à sintaxe de um novo e legal framework de desenvolvimento de aplicativos da web lançado na época.
Os principais métodos do jQuery são atemporais. Seus métodos jQuery favoritos, como .css(), .toggle(), .show()e .hide()ainda são suportados na API. Mesmo com grandes adições à API do jQuery, nenhuma mudança importante foi introduzida a eles depois de quase uma década. “Há uma grande chance de você pegar o código usando jQuery por volta de 2006 e lançar em uma versão moderna e ainda funcionar”, diz Resig.
Essa você já conhece: jQuery facilita o desenvolvimento web. O que primeiro me atraiu para o jQuery foi sua sintaxe. Lembro-me de pensar como era conciso e direto. Selecionar e operar no DOM levou apenas algumas linhas de código devido à forma como a $()função funcionava.
Você não precisava instanciar um objeto para manter seus elementos selecionados, fazer um loop pelo objeto e vincular ouvintes de eventos em cada elemento no objeto. Você pode encadear sua seleção de DOM para quantos métodos quiser em apenas uma instrução. Pensar que isso era um recurso do jQuery desde o início é simplesmente alucinante.
Lembro-me de quando o jQuery foi lançado. Acho que estava usando Prototype + moo.fx. Ou talvez fosse Dojo.
Ou talvez Prototype + script.aculo.us. Eu realmente não consigo me lembrar, já que parece que usei todos eles. Com certeza, em algum momento, me decidi pelo MooTools.
Eu adorava MooTools. Até escrevi um livro sobre isso. (Para as duas pessoas que compraram o livro MooTools: Obrigado, mamãe e papai, vocês são incríveis.
Você sempre me apoiou.) Mas, admito, eu estava fazendo as coisas muito mais rápido com jQuery. Além disso, foi mais fácil para mim obter desenvolvedores menos experientes a bordo do jQuery por causa de sua sintaxe e conceitos intuitivos em comparação com Protoype, Dojo ou GWT. O jQuery funcionou bem com outras bibliotecas, reconhecendo a tendência de que as técnicas modernas de desenvolvimento da web estavam se voltando para a dependência de muitas dependências de projetos de terceiros.
Ao ler a anotação de John Resig, rapidamente ficou claro para mim que a facilidade de uso era uma filosofia fundamental incorporada ao projeto desde o primeiro dia. Você encontrará comentários no código-fonte jQuery anotado, como estes:
- “Isso era algo pelo qual eu era muito apaixonado, pois permitia que você escrevesse um código muito conciso ”
- “Sempre gostei do .wrap()método. É uma daquelas coisas que dá muito trabalho escrever do zero, mas é super conveniente ter como um único método.”
Além disso, o jQuery foi um dos poucos projetos de código aberto que enfatizou a importância de uma documentação boa e amigável. Essa noção era quase contra-cultura naquela era de código aberto e desenvolvimento web.
A linha de pensamento naquela época parecia ser do tipo “Você é um desenvolvedor. Entender.” Uma ferramenta de código aberto para desenvolvedores em meados dos anos 2000 . E tinha em mente o UX do desenvolvedor?
Seriamente? Isso foi estranho. A filosofia amigável do jQuery é o que o tornou muito atraente para desenvolvedores web regulares como eu. E se você olhar para os maiores e mais bem-sucedidos projetos de SO no momento essa ideia de facilitar as coisas para os desenvolvedores é uma semelhança unificadora entre eles.
jQuery é mais do que apenas uma ferramenta que nos ajudou a construir sites e arrancou meses de nossos processos de desenvolvimento. A maior conquista do jQuery não é ser usado em milhões de sites. Isso é apenas um resultado incidental.
Para mim, a melhor coisa sobre jQuery é que essa pequena biblioteca JS de 83kb liderou mudanças monumentais na cultura de código aberto e na indústria de desenvolvimento web. Não tenho certeza se foi isso que John Resig se propôs a fazer. Mas também não acho que ele realmente tenha algo a dizer sobre o assunto depois de lançar sua humilde biblioteca JavaScript há nove anos no BarCampNYC.
Resig criou 40 comentários no código fonte do jQuery. Veja tudo aqui: Versão anotada do jQuery . Além disso, você pode querer ler sua postagem no blog sobre a anotação.
Além disso, para encontrar fatos mais interessantes do jQuery, leia os documentos oficiais de história do projeto .