Existem mais de 100.000 perguntas no Stack Overflow marcadas como questões relacionadas à solução de problemas / uso do JQuery. Compare isso com as 124.000 perguntas sobre estouro de pilha marcadas para problemas de JavaScript. Estamos muito perto de quase metade de todas as perguntas relacionadas ao JavaScript no Stack Overflow serem atribuídas ao JQuery (mais ou menos qualquer margem para as poucas outras estruturas JS que recebem perguntas sobre SO).
O que estou tentando entender é que o jQuery não é uma linguagem e não é o conjunto completo de estruturas que deve ser aplicado a todos os cenários em que o JavaScript está presente, mas está sendo capturado rapidamente (e eu prevejo que em breve eclipsará ) JavaScript como fonte de discussão / consulta em sites como o Stack Overflow.
O jQuery está matando a estrela do JavaScript? A próxima geração de desenvolvedores da Web não tem mais um entendimento firme sobre o poder, a simplicidade e o uso do JavaScript como meio de manipulação do DOM? Essa é apenas a evolução natural das coisas e o ponto de vista que estou apresentando típico do ego do codificador (ou seja, é assim que os programadores de montagem veem a multidão .NET / Java / Web?) Ou esse é realmente o começo do fim do desenvolvedor JavaScript verdadeiro?
fonte
Respostas:
Você certamente poderia argumentar que o jQuery eliminou a discussão sobre javascript, e este gráfico de tendências o apoiaria: http://www.google.com/trends?q=jquery%2C+javascript
É muito fácil observar isso também no seu quadro de mensagens. Sempre que um "como você faz xxx em javascript?" Quando a pergunta é feita, você quase pode apostar que as respostas estarão no formato de "use jQuery e faça yyy".
Eu diria que é mais preciso dizer que agora é mais comum discutir o javascript em termos de estruturas de nível superior (seja como um jQuery / protótipo ou knockout / backbone ou node.js ou ...)
fonte
$(foo)
se torna a resposta padrão do SO para tarefas simples, como como faço para obter todo o<img>
conteúdo de uma página . A penalidade para os usuários finais é indevida.$('selector')
e esperar votos positivos.Sobre o jQuery . Eu estava programando com APIs do DOM desde 2001 e posso garantir que uma API do DOM simples e bem testada, como o jQuery, permite que você trabalhe mais no problema real do que na API.
Também manipulei o DOM em Javascript bruto em 2005 e na maioria das vezes gastei para fazê-lo funcionar em vários navegadores.
Antes do jQuery, muitos de nós gastávamos tempo corrigindo as diferenças e os erros do navegador, independentemente e com pouco compartilhamento de código. Repetimos o mesmo trabalho e os mesmos erros repetidamente. O jQuery nos isentou desse dever. Atualmente, com muitos plugins jQuery, trabalho principalmente no meu campo problemático, mas também posso fazer manipulações muito mais complicadas do documento. Liberado apenas das dores de cabeça do DOM, eu pude aprender o verdadeiro poder dos fechamentos e do loop de eventos JS (preciso ver para qualquer programador js!)
A maioria dos programadores de Javascript usa o jQuery para manipular o DOM, portanto, a maioria das perguntas diz respeito a essa área e ao jQuery.
Existem alternativas ao jQuery:
O Node.js é um ambiente de rápido desenvolvimento e, em alguns anos, pode se tornar a linguagem principal do servidor. Minha impressão é que ainda faltam muitos recursos que podem tornar a linguagem mais elegante. No momento, é preciso muito esforço para organizar seu código. Não posso dizer se é corrigível com uma estrutura como jQuery ou apenas com uma nova versão de idioma, mas tenha certeza de que isso será abordado por alguém, há impulso suficiente em torno do Node.js. e JS em geral.
fonte
Eu o consideraria mais próximo da biblioteca padrão em C ++ do que da analogia .Net / Assembly. Ou melhor ainda, .Net e C #. Não há nada na especificação do C # que indique que você precise usar o .Net, mas ele está intimamente ligado. Mas, de qualquer maneira, quanto à sua pergunta, a maioria dos desenvolvedores da Web não se importa com JavaScript.
Na verdade, eu argumentaria que a parte de manipulação do DOM do JavaScript é bastante terrível (especialmente considerando que vários navegadores fizeram com que as coisas funcionassem em qualquer lugar). Eu não acho que você poderia ter colocado algo mais lá e recebido um resultado melhor, mas durante anos foi um ponto de frustração (mais uma vez geralmente devido aos fabricantes de navegadores). A maioria das pessoas simplesmente hackeava algo antes do jQuery e o chamava de dia (e se proclamavam "especialistas" na maior parte do tempo). O jQuery simplesmente pega as partes que ninguém mais gostou e coloca uma cara melhor. Como esse é o principal uso do JS no momento (manipulação do DOM), você verá o jQuery aparecer cada vez mais (ou alguma outra estrutura, como Prototype, etc.). Só para você saber que não acho que o desenvolvedor Web médio tenha sido um ótimo desenvolvedor de JS antes do jQuery.
Dito isto, o JavaScript está indo bem como uma linguagem. O Node.js é um bom exemplo disso, utilizando o idioma real. Eu até tentei usá-lo como uma linguagem de script incorporada em alguns dos meus aplicativos (perdidos para LUA, mas apenas porque LUA levou menos tempo para configurar).
fonte
O Jquery abstrai as tarefas mais irritantes e chatas do desenvolvimento de um javascript para um site. Atravessar o DOM é uma tarefa repetível que requer muito trabalho manual com muito poucos benefícios de fazê-lo da maneira mais difícil. Os únicos casos em que não uso o jQuery atualmente são as versões móveis dos sites - você não pode pagar mais uma solicitação e 100 mil por lá. O mesmo acontece com o carregamento do ajax.
Além disso, o jQuery faz com que a programação quase funcional pareça divertida. Ele introduz o conceito de função como um objeto de primeira classe realmente intuitivamente para os desenvolvedores. Jogue alguns efeitos visuais e alguns plugins muito bons - é uma pequena ferramenta bastante impressionante que é perfeitamente adequada para a tarefa.
Javascript padrão -> O Jquery para mim parecia migrar de C ++ e mfc para winforms e C #.
fonte