2008-09-15 12 views
18

Estoy tratando de convencer a quienes establecen estándares en mi organización actual de que debemos usar jQuery en lugar de Prototype y/o YUI. ¿Cuáles son algunas ventajas convincentes que puedo usar para convencerlos?¿Qué ventajas tiene jQuery sobre otras bibliotecas de JavaScript?

+3

Todos y su madre lo usan. : P –

+3

JQuery es solo un manipulador DOM, YUI es un marco de componentes con un manipulador DOM incluido. – Kdeveloper

Respuesta

4

Una de las ventajas de jQuery es la gran comunidad que ha desarrollado una multitud de complementos.

23

Las 3 ventajas principales de jQuery son:

  • su peso ligero en comparación con otros marcos de JavaScript
  • que tiene una amplia gama de plugins disponibles para varias necesidades específicas
  • es más fácil para una diseñador para aprender jQuery ya que utiliza la sintaxis CSS conocida. jQuery es Javascript for Designers
1

Soy una persona prototipo, pero he usado jQuery un poco. Honestamente, no hay mucho entre los dos que puedas usar como un "punto de venta". El YUI por otro lado está bastante hinchado. Nunca lo usaría en ninguna aplicación comercial.

Encontré this page que habla sobre este tema exacto.

+0

Chris Heilmann, que ahora trabaja para Yahoo !, tuvo pensamientos similares sobre YUI cuando comenzó en Yahoo! http://www.wait-till-i.com/2007/06/16/yui-the-elephant-in-the-room-hackday-presentation-by-nate-koechley-and-chris-heilmann/ - discute ese. YUI 3 también realiza cambios significativos en la API. –

+0

¿Nunca usas YUI en una aplicación comercial? Bueno, @LinkedIn decidieron de manera diferente, usan YUI ... (http://developer.yahoo.com/yui/poweredby/) – Kdeveloper

6

En mi opinión, después de probar brevemente Prototype, y luego probar y amar jQuery: la API de jQuery se siente mucho más limpia y bien pensada. John Resig, el creador/arquitecto de jQuery realmente sabe lo que hace, y se nota en el diseño de jQuery, así como en otros proyectos impresionantes de JavaScript de los que ha formado parte.

Todos los conceptos de consulta y chainable encajan muy bien con la manipulación de DOM, que parece ser la peor parte de lo que las personas usan las bibliotecas de JS. La documentación en línea es fantástica. El rendimiento parece ser muy bueno también. Toda la biblioteca se ajusta a un paquete relativamente pequeño dadas sus capacidades. La arquitectura del complemento también es muy buena para la extensibilidad.

Honestamente, no he probado YUI, así que no puedo comentar mucho sobre eso. Sé que es una biblioteca bastante masiva en total, aunque puedes elegir descargar/usar solo módulos específicos de ella.

1

¿Quizás no deberías? Todo depende de qué tipo de aplicación esté construyendo. Si está creando aplicaciones intensivas de GUI, algo así como, por ejemplo, Yahoo! Mail, entonces tal vez deberías considerar usar YUI o Mootools sobre jquery. Personalmente, soy un gran admirador de jQuery, pero definitivamente es mejor agregar un toque de interacción a una interfaz de usuario estática. Por otro lado, si eso es para lo que lo usarás, entonces jquery es mucho más simple, tiene una sintaxis más agradable y tiene mucho impulso.

4
  1. Es muy pequeño, especialmente cuando se minimiza, y ofrece mucho en la biblioteca central.

  2. También es fácil de ampliar y tiene una comunidad activa.

  3. Finalmente, es extremadamente fácil de aprender; una vez que haya captado los conceptos básicos, puede comenzar a codificar soluciones complejas de inmediato.
14

Yo diría que mis principales razones para el uso de jQuery son:

  • comunidad de desarrollo grande y muchos plugins.
  • Está en el radar de Microsoft y están agregando compatibilidad con algunos complementos y funciones de depuración.
  • Muy buena documentación para una biblioteca de terceros.
  • Ligero.
  • Las capacidades de encadenamiento son muy potentes.
+1

ver http://weblogs.asp.net/scottgu/archive/2008/09/28 /jquery-and-microsoft.aspx – craigmoliver

+0

No solo el radar de Microsoft, sino también el radar de Google. – hippietrail

0

¿Por qué no creas una comparación rápida?

Realice una tarea como "buscar todos los divs o tablas que contengan imágenes de la clase foo y adjuntar un evento de clic a cada una de ellas, lo que hace que se amplíen al 50%". O algo más relevante para lo que estás haciendo.

Luego codifica esto con jQuery, Prototype, etc. y compáralos. ¿Cuál es más corto? Más fácil de leer? Más rápido para correr? (Se puede encontrar una comparación de velocidad here.)

+0

Me gustaría ir con un caso de prueba menos arbitraria. Qué tal: haga una llamada AJAX a un script externo y coloque la respuesta en un cuadro de mensaje con estilo en el medio de la pantalla. – nickf

3

Un argumento a favor es la siguiente:

popularidad + extensibilidad

1) Si alguien necesita hacer X con JavaScript, probablemente ha hecho con jQuery
2) Si se ha hecho mucho, es probable que haya un plugin, si no soporte nativo

Y si es realmente única, hay una gran cantidad de gente a responder a su pregunta sobre el SO o en otro lugar.

1

Tiene un buen conjunto de complementos y el estilo de codificación es discreto, lo que significa que no es demasiado difícil de reemplazar. También hay una buena caída en reemplazo para los ayudantes de Ruby on Rails llamados jRails.

En cuanto a rendimiento, todos son muy similares: http://www.kenzomedia.com/speedtest/ Sin embargo, MooTools, dojo, ext y Prototype funcionan todos más rápido en mi entorno.

Mi pregunta es, ¿por qué quieres usarla? ¿Es solo porque lo sabes mejor?

+0

¡Buena pregunta! Quiero usarlo porque creo que tiene una mejor sintaxis, más características disponibles (cuando se incluyen complementos), excelente documentación y MUCHA compatibilidad con la comunidad. Pero ya tenemos un estándar de la compañía, así que pensé que buscaría ideas adicionales para reforzar mi argumento. –

1

Jquery existe hace unos años, así que, como todos han dicho, tiene una comunidad profunda, muchos complementos y un soporte decente. Lo que lo dejé de lado fue que es fácil de aprender.

Ver http://visualjquery.com/1.1.2.html

6

Es el lenguaje más bien pensado encontrará - es casi intuitivo.

¿Quieres el ancho de un elemento?

$('#something').width(); 

¿Desea agarrar un elemento, ocultarlo, cambiar el color de fondo y volver a fundirlo?

$('#something').hide().css('background', 'red').fadeIn(); 

¿Qué hay de la creación de bandas mesa para IE (suponiendo hover clase se define)?

$('table tr').hover(function() { 
    $(this).addClass('hover'); 
}); 

Es un trabajo rápido y sin sentido como este que realmente ayuda a vender jQuery.

6

Aquí hay una prueba de velocidad más reciente que la proporcionada anteriormente. La última vez que lo ejecuté, dojo fue el más rápido seguido de jQuery, Mootools, Prototype y finalmente YUI. Tenga en cuenta que lo ejecuté en Firefox 3 y las velocidades varían entre los navegadores, así que pruébelo usted mismo.

Slick Speed Test

+3

Esta no es una prueba de velocidad reciente, ni es exhaustiva. Slick Speed ​​compara los motores de selección CSS, no el rendimiento general. YUI 2.5.2 se lanzó en 2008. La versión de producción actual de YUI 2.x es 2.8.2, con 2.9 en proceso. Será el último lanzamiento de punto en la línea de código 2.x. YUI 3 ha estado disponible desde 2009. La versión actual es 3.2, y 3.3.0 se enviará en enero de 2011. – Luke

0

Si usted está tratando de convencer a la gente desde una perspectiva empresarial, la reciente decisión de Microsoft para enviar jQuery con Visual Studio podría ayudar a establecer cierta credibilidad adicional. Por otra parte, eso podría dañar su causa, dependiendo de sus opiniones de Microsoft.

1

He estado usando jQuery durante algunos meses y lo he encontrado una experiencia agradable. El marco es claro y conciso, tiene una excelente arquitectura de complementos y está muy bien soportado, pero los marcos son algo muy personal y probablemente deba probar algunos, normalmente no tarda en encontrar el que se siente mejor para usted.

No estoy seguro de si esto le importará, pero Microsoft anunció recientemente el soporte para jQuery en la próxima actualización para VS 2008 Here is the blog post.

Puede escuchar al John Resig, el hombre detrás de jQuery, hablando de ello en varios marcos en un reciente Boagworld podcast. Puede ayudarte a tomar una decisión, es una pieza bastante equilibrada.

3

Puede seguir this link para saber más sobre jQuery, por qué usarlo y cuáles son sus ventajas.

2

Empíricamente cada uno tiene sus propias fortalezas y debilidades dado un rol muy específico dentro de sus aplicaciones. Hacer una determinación global puede no ser el enfoque más apropiado. Realice la tarea específica a mano y analice el rendimiento, la hinchazón, la experiencia, etc. luego tome una decisión/propuesta específica.

2

Bueno ...

En primer lugar usted debe pensar en por qué cree que jQuery es buena, pero no sabe qué argumentos a utilizar para convencer a otro. Tal vez deberías convencerte a ti mismo primero. ;)

De todos modos, jQuery es solo otro marco. Debes usar para lo que mejor sabe hacer. Si vas a usarlo solo para el manejo básico de DOM, ¡olvídalo! aprende a usar js correctamente y ¡estarás bien!

Considere este código HTML:

<body> 
<div style="width: 400px; height: 400px; background-color: red"> 
<div style="width: 400px; height: 400px; background-color: red"> 
</div> 

<script type="text/javascript"> 

function test1(){ 
document.body.innerHTML = "" 

var div = document.createElement("div"); 

document.body.appendChild(div); 

$(div).width("400px").height("400px").css("background-color", "red"); 
}  

function test2(){ 
document.body.innerHTML = "" 

var div = document.createElement("div"); 

document.body.appendChild(div); 

$(div).width("400px"); 
$(div).height("400px"); 
$(div).css("background-color", "red"); 
} 

function test3(){ 
document.body.innerHTML = "" 

var div = document.createElement("div"); 

document.body.appendChild(div); 

div.style.width = "400px"; 
div.style.height= "400px"; 
div.style.backgroundColor = "red"; 
} 

function test4(){ 
    document.body.innerHTML = "" 

    var div = document.createElement("div"); 

    document.body.appendChild(div); 

    div.setAttribute("style", "width: 400px; height: 400px; background-color: red"); 
} 

</script> 
</body> 

ponerlo en un archivo HML con jQuery disponible en <head>

Entonces quemador, abrir y ejecutar este código: console.profile(); test1(); console.profileEnd();

console.profile(); 
test2(); 
console.profileEnd(); 

console.profile(); 
test3(); 
console.profileEnd(); 

console.profile(); 
test4(); 
console.profileEnd(); 

¡Vea los resultados para usted!

Pero si quiere hacer alguna manipulación compleja en el DOM que requiera hacer varios bucles o descubrir elementos en el DOM que coincidan con algunos criterios, puede considerar el uso de jQuery ya que implementará este procedimiento por usted.

De todos modos, tenga en cuenta que no hay nada mejor que controlar el DOM con las referencias que guarda en su código. Es más rápido y más legible para otros. Google "js mejores prácticas".

Uso jQuery para cosas complejas que me llevaría demasiado tiempo implementar y terminaría con algo como el código de jQuery. ¡En ese caso, tiene sentido usarlo!

¡Diviértete!

Cuestiones relacionadas