Pregunta

¿Qué experiencia puedes compartir sobre el uso de múltiples bibliotecas AJAX?

Hay funciones útiles en Prototype, algunas en jQuery, la biblioteca de Yahoo, etc.¿Es posible incluir todas las bibliotecas y usar lo que desee de cada una? ¿Por lo general todas funcionan bien junto con los espacios de nombres, etc.?En aras de la velocidad, ¿existe un límite práctico para el tamaño/número de bibliotecas a incluir o es insignificante?¿Hay parejas que funcionan particularmente bien juntas (p. ej.Prototype/Scriptaculous) o pares que no lo hacen?

¿Fue útil?

Solución

Podrías usar todas esas bibliotecas, pero lo recomiendo encarecidamente.Descargar y ejecutar tanto JavaScript probablemente bloqueará el navegador y ralentizará la experiencia del usuario.Sería mucho mejor desde la perspectiva del usuario y del desarrollador elegir uno.Menos cambios de contexto/arquitectura y menos código que mantener.

Como han dicho otras respuestas, la mayoría no entran en conflicto.

Ver Yahoo! Actuación excepcional sitio para más información.

Otros consejos

Podrías usar API de bibliotecas AJAX de Google.Proporciona una red de distribución común y una arquitectura de carga para jQuery, prototipo, script.aculo.us, MooTools y dojo.

YUI tiene un espacio de nombres bastante fuerte, por lo que no debería chocar con otras bibliotecas.

Como se mencionó, puede ejecutar jQuery en modo sin conflicto.

Prototipo hace tiene algunos problemas para funcionar bien con otras bibliotecas en parte porque (o solía hacerlo) modifica objetos centrales como Array. protosafe intentos de abordar esas cuestiones.

Script.aculo.us es simplemente una biblioteca de widgets que se encuentra encima de Prototype, por lo que obviamente esos dos deberían funcionar bien juntos.

Todo esto significa que usted podría use YUI, jQuery, Prototype & Script.aculo.us en su aplicación, pero puede encontrar que usar una sola biblioteca hace que sea mucho más fácil mantener las cosas.

También creo en jQuery, así que perdón por mi falta de conocimiento sobre los demás, pero...

Lo que hace que jQuery sea tan bueno es el modo sin conflicto, así que, por ejemplo, harías:

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

Con el modo sin conflicto, harías esto:

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

Una cosa menos de la que preocuparse.Me imagino que el prototipo ofrece una característica similar, y Yahoo también.

Pero de todos modos, no quisiera defender demasiado jQuery y enojar a la gente, pero sea cual sea la biblioteca que selecciones, creo que todas pueden hacer prácticamente todo lo que necesitas.Piense especialmente en los beneficios de no tener que aprender tres bibliotecas diferentes.

Los tres deberían ser capaces.Selecciona el que más te guste y amplíalo.:)

Estoy usando jQuery y la versión de solo archivo javascript del kit de herramientas Microsof ajax en paralelo en el proyecto en este momento.

Creo que voy a utilizar jQuery y terminaré eliminando el de Microsoft.Soy muy nuevo en jQuery, pero cuanto más aprendo sobre él, más me enamoro.

La mejor estrategia es no usar múltiples bibliotecas.Es tentador querer agregar más bibliotecas a un problema, pero es ineficiente, propenso a errores y hace que su código sea más difícil de mantener para otros.

En la mayoría de los casos, debería poder evitar el uso de varias bibliotecas si comprende el dominio de su problema y qué biblioteca le ayudará mejor a resolverlo.También hay una gran cantidad de complementos y extensiones para todas estas bibliotecas.

Por ejemplo, JQuery admite llamadas JSONP entre dominios desde el primer momento y tiene una buena biblioteca de widgets en JQueryUI, Prototype no.

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

Prototype tiene muy buen soporte OO y es fácil atravesar el DOM, pero carece de algunas de las funciones entre dominios necesarias para crear widgets y mashups.

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

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

Mootools tiene excelentes efectos, buen soporte OO, widgets realmente sólidos y solicitudes entre dominios, pero (y esta podría ser solo mi impresión), la comunidad de desarrollo no es tan colaborativa y social con la comunidad global (fuera de mootools) como la otra. comunidades (el prototipo solía ser así).Esto podría deberse a que sus principales desarrolladores viven fuera de los EE. UU. y, por lo tanto, no pueden asistir a tantas conferencias ni participar en la comunidad en general.Sin embargo, no dejaría que eso te desanime por completo, pero es algo a tener en cuenta.

Ruby on Rails utiliza prototipo y Scriptaculous de forma predeterminada, ya que hay poca superposición entre los dos.También he usado fragmentos de yui además de eso y nunca he tenido ningún problema.Los tiempos de carga son un problema, pero las bibliotecas generalmente se almacenan en caché, por lo que solo se carga en la primera página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top