Pergunta

Que experiência você pode compartilhar sobre o uso de múltiplas bibliotecas AJAX?

Existem recursos úteis no Prototype, alguns no jQuery, na biblioteca do Yahoo, etc.É possível incluir todas as bibliotecas e usar o que você deseja de cada uma, elas geralmente funcionam bem juntas com espaços de nomes, etc.Por uma questão de velocidade, existe um limite prático para o tamanho/número de bibliotecas a serem incluídas ou isso é insignificante?Existem pares que funcionam particularmente bem juntos (por ex.Prototype/Scriptaculous) ou pares que não o fazem?

Foi útil?

Solução

Você poderia usar todas essas bibliotecas, mas eu não recomendo fortemente.Baixar e executar tanto JavaScript provavelmente irá sufocar o navegador e tornar a experiência do usuário mais lenta.Seria muito melhor, do ponto de vista do usuário e do desenvolvedor, escolher um.Menos troca de contexto/arquitetura e menos código para manter.

Como outras respostas disseram, a maioria não entra em conflito.

Veja o Yahoo! Desempenho excepcional site para mais informações.

Outras dicas

Você poderia usar API de bibliotecas AJAX do Google.Fornece uma rede de distribuição comum e uma arquitetura de carregamento para jQuery, protótipo, script.aculo.us, MooTools e dojo

YUI tem um namespace bastante forte, portanto não deve entrar em conflito com outras bibliotecas.

Como mencionado, você pode executar o jQuery sem modo de conflito.

Protótipo faz tenho alguns problemas para funcionar bem com outras bibliotecas, em parte porque ela (ou costumava) modificar objetos principais como Array. Protoseguro tenta resolver essas questões.

Script.aculo.us é simplesmente uma biblioteca de widgets que fica em cima do Prototype, então esses dois obviamente devem funcionar bem juntos.

Tudo isso significa que você poderia use YUI, jQuery, Prototype & Script.aculo.us em sua aplicação, mas você pode descobrir que usar uma única biblioteca facilita muito a manutenção das coisas.

Eu também acredito em jQuery, então perdoe minha falta de conhecimento sobre os outros, mas ...

O que torna o jQuery tão bom é o modo sem conflito, então, por exemplo, você faria:

$('#foobar').whatever();

Com o modo sem conflito, você faria o seguinte:

var jq = jQuery.noConflict();
jq('#foobar').whatever();

Uma coisa a menos para se preocupar.Imagino que o protótipo ofereça um recurso semelhante, e o Yahoo também.

Mas de qualquer forma, eu não gostaria de defender muito o jQuery e deixar as pessoas loucas, mas seja qual for a biblioteca que você selecionar, acho que todas elas podem fazer praticamente tudo o que você precisa.Pense especialmente nos benefícios de não tendo que aprender três bibliotecas diferentes.

Todos os três deveriam ser capazes.Selecione o que você mais gosta e estenda-o.:)

Estou usando jQuery e a versão apenas do arquivo javascript do kit de ferramentas Microsof ajax lado a lado no projeto agora.

Acho que vou usar o jQuery e acabar removendo o da Microsoft.Sou muito novo em jQuery, mas quanto mais aprendo sobre ele, mais apaixonado fico.

A melhor estratégia é não use várias bibliotecas.É tentador querer lançar mais bibliotecas para resolver um problema, mas isso é ineficiente, propenso a erros e torna seu código mais difícil de ser mantido por outras pessoas.

Na maioria dos casos, você poderá evitar o uso de múltiplas bibliotecas, entendendo o domínio do seu problema e qual biblioteca o ajudará a resolvê-lo melhor.Há também uma infinidade de plug-ins e extensões para todas essas bibliotecas.

Por exemplo, o JQuery oferece suporte a chamadas JSONP entre domínios imediatamente e possui uma bela biblioteca de widgets no JQueryUI, o Prototype não.

$.getJSON('http://anothersite.com/mashup.json?callback=?', function(data) { });

O Prototype tem um suporte OO muito bom e é fácil de percorrer o DOM, mas carece de algumas das funcionalidades entre domínios necessárias para criar widgets e mashups.

var Foo =  Class.create({  
  initialize: function(name) {
    this.name = name;
  }   
});

var Bar = Class.create(Foo, {
  initialize: function($super, name)  {
     $super(name);
   }
});

Mootools tem ótimos efeitos, bom suporte OO, widgets realmente sólidos e solicitação entre domínios, mas (e esta pode ser apenas a minha impressão), a comunidade de desenvolvimento não é tão colaborativa e social com a comunidade global (fora do mootools) como a outra comunidades (o protótipo costumava ser assim).Isto pode ser o resultado do(s) seu(s) principal(is) desenvolvedor(es) viver(em) fora dos EUA e, portanto, não serem capazes de assistir a tantas conferências e participar na comunidade em geral.Eu não deixaria que isso o detivesse completamente, mas é algo para se manter em mente.

Ruby on Rails usa protótipo e Scriptaculous por padrão, pois há pouca sobreposição entre os dois.Eu também usei trechos de yui além disso e nunca tive problemas.Os tempos de carregamento são um problema, mas as bibliotecas geralmente são armazenadas em cache, portanto, é carregado apenas na primeira página.

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