Pergunta

Por fim, eu tenho me sentido jQuery está lentamente se tornando o padrão Defacto nas bibliotecas JS (posso estar errado!), Ou pelo menos isso é mais ativo que o restante das estruturas.

Por exemplo, eu tenho procurado um bom calendário de código aberto como componente e encontrado http://fullcalendar.vinsol.com/ que é baseado no jQuery.

Temos usado o protótipo para muito poucas coisas, como seus recursos de seletor ($ funcionar como um atalho para document.getElementById, principalmente), executando algumas partes do JS quando a página é carregada e para emitir algumas chamadas Ajax muito simples.

Então, acho que a migração deve ser bastante direta, mas eu gostaria de conhecer os prós / contras da migração do protótipo para o jQuery.

Por outro lado, acho que ter os dois juntos não é uma boa escolha, considerando especialmente que a migração deve ser bastante simples. Estou certo?

Editar: Alguns recursos úteis:

Foi útil?

Solução

Protótipo e jQuery cobrem campos muito semelhantes. Eu usei o protótipo como minha principal estrutura JS por muitos anos profissionalmente e estou migrando para o jQuery. Aqui está o porquê:

  • JQuery é mais rápido. O protótipo vem por último em tudo Comparações de desempenho que já vi (escolha aleatória aqui). Também tenho uma impressão subjetiva de longa data de que os efeitos do protótipo são mais lentos, especialmente em máquinas mais antigas.

  • O jQuery parece ser mais popular, não apenas, mas também no transbordamento da pilha. O que significa que é muito mais fácil obter suporte, e o número de plug-ins disponíveis e código pronto é muito maior. Essa não é a razão central para mim, mas junto com a impressão geral de que o jQuery é a plataforma mais tecnicamente sólida, a escolha se tornou óbvia.

Minha única aversão é:

  • O código jQuery tende a parecer horrível. Eu gosto de jQuery e sua filosofia muito muito, mas muitas vezes eu odiar olhando para o código. Se alguém surgiu com um dialeto de jQuery que pareça tão bonito e estruturado quanto o JavaScript de baunilha simples, estarei de bom grado a bordo. :)

Re os comentários: Esclarecimentos adicionais sobre o que eu não gosto no estilo de codificação de JQuery.

Em uma palavra: suportes. Milhares e milhares deles :)

Sério. Sei que muito do que é considerado "estilo jQuery" são atalhos e taquigrafia que são totalmente opcionais de usar. Ainda assim, de uma perspectiva de legibilidade e manutenção de código, encontro grandes pedaços de código jQuery Muito de mais difícil de ler e entrar. Sim, isso se tornará muito mais fácil com a crescente experiência do jQuery, mas quero que meu código seja legível até mesmo para um total de fora. Em relação a isso, o JQuery não está indo na direção certa da IMO. Muito do código é claro feio. É minha única grande crítica a essa grande estrutura até o momento.

Encadeamento de método, porém, @noah, e coisas como o novo .delay() Ou qual era o nome, acho totalmente o rock. Não estou dizendo nada contra isso.

Outras dicas

Até onde eu sei, protótipo e jQuery se sobrepõem principalmente, exceto que o jQuery se concentra principalmente na manipulação de Dom, Ajax, eventos, etc., e realmente não possui alguns dos recursos que o protótipo tem, como aulas, herança etc. No entanto, no entanto, Se você não precisa dessas coisas e só deseja uma estrutura para o navegador cruzado Dom Manip, Ajax, eventos, etc., acho que o jQuery é o caminho a percorrer.

Você pode usá -los juntos. Apenas ligue jQuery.noConflict(); após cargas de jQuery. Então você terá que escrever jQuery("whatever") ao invés de $("whatever"). O protótipo oferece muita funcionalidade que o jQuery não.

No entanto, o protótipo está meio que saindo. JQuery é rei agora e por algumas boas razões. Se você deseja os mais recentes plugins e widgets, o JQuery os terá.

Subldscore.js Oferece a maioria da mesma funcionalidade que o protótipo, sem mexer com protótipos de objeto e o espaço para nome global. O subscore Plus jQuery deve tornar a migração do protótipo bastante direto.

Para responder diretamente às suas perguntas: sim, você deve mudar. E sim, você está certo.

Eu sei que você disse que não gosta de colchetes ... você pode fornecer um trecho de código de protótipo que considera bonito (eu vou visitá-lo para comparação)?

Eu uso protótipo desde 2006 e ecoando os sentimentos de Pekka sobre o código feio. O protótipo é mais elegante.

Fui um defensor firme da comunidade protótipo (+scriptaculous), mas, infelizmente, o protótipo está perdendo a Mindshare e a participação de mercado. As carreiras podem ser construídas sobre o conhecimento do jQuery, não tanto para o protótipo.

Parece que as pessoas do jQuery parecem mais felizes usando plug-ins, sem saber como funcionam, enquanto o protótipo as pessoas parecem ser mais programadores de núcleo duro e tendem a construir o que precisam.

Dito isto, minha transição para o jQuery não foi tão dolorosa. A funcionalidade é praticamente a mesma, apenas com nomes diferentes. Há muito mais documentação e código de amostra disponíveis, facilitando a compra.

As estruturas são alvos em movimento, às vezes saltando entre si em termos de velocidade e recursos. Todos continuam a melhorar. Dizer que X é melhor do que Y mudará com o tempo

Eu acho que a graça salvadora do protótipo pode ser Scripty2. Este é um novo mecanismo de animação incrível usando o protótipo. Se isso pegar (e chegar ao mercado, nem mesmo está na versão beta), pode haver um ressurgimento do interesse no protótipo. Além disso, acho que sempre terá seus apoiadores, mas desaparecerá do mainstream.

Se você se preocupa em conseguir outro emprego, talvez se mude para o jQuery. Se você se preocupa com o belo e intuitivo JavaScript Stick com Prototoype - não está indo embora!

Eu acho o fato de que A Microsoft o integrou à estrutura ASP.NET AJAX fala mundos para jQuery. Meu empregador atual padronizado no ano passado e posso encontrar mais empregos solicitando especificamente o jQuery e qualquer outra biblioteca.

Eu acho que você deveria. Eu uso o jQuery religiosamente, e não sou um JavaScript Pro. Acho que é a facilidade de uso, é uma das coisas mais poderosas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top