it-swarm-es.com

¿Qué ventajas tiene jQuery sobre otras bibliotecas de JavaScript?

Estoy tratando de convencer a quienes establecen estándares en mi organización actual de que deberíamos usar jQuery en lugar de Prototype y/o YUI. ¿Cuáles son algunas de las ventajas convincentes que puedo utilizar para convencerlos?

19
mcherm

Las 3 principales ventajas de jQuery son:

  • su peso ligero en comparación con otros marcos de JavaScript
  • tiene una amplia gama de complementos disponibles para varias necesidades específicas
  • es más fácil para un diseñador aprender jQuery ya que utiliza una sintaxis CSS familiar. jQuery es Javascript para diseñadores
24
Jahangir

Yo diría que mis principales razones para usar JQuery son:

  • Gran comunidad de desarrollo y muchos complementos.
  • Está en el radar de Microsoft y están agregando algunas funciones de depuración y compatibilidad con complementos.
  • Muy buena documentación para una biblioteca de terceros.
  • Ligero.
  • Las capacidades de encadenamiento son muy poderosas.
14
SaaS Developer

Aquí hay una prueba de velocidad más reciente que la proporcionada anteriormente. La última vez que lo ejecuté, el 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.

Prueba de velocidad pulida

6
Guichard

Es el lenguaje mejor pensado que encontrarás, es casi intuitivo.

¿Quieres el ancho de un elemento?

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

¿Quiere agarrar un elemento, ocultarlo, cambiar su color de fondo y volver a fundirlo?

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

¿Qué tal la creación de bandas en la tabla para IE (suponiendo que la clase hover esté definida)?

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

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

6
Michael Thompson

En mi opinión, después de haber probado Prototype brevemente, 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 los otros proyectos impresionantes de JavaScript de los que ha formado parte.

Todos los conceptos de consulta y encadenamiento encajan muy bien con la manipulación DOM, que parece ser la peor parte para la que la gente usa las bibliotecas JS. La documentación en línea es fantástica. El rendimiento también parece ser muy bueno. Toda la biblioteca cabe en 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 puede elegir descargar/usar solo módulos específicos de la misma.

6
user10109

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

4
palehorse

Un argumento a favor es este:

popularidad + extensibilidad

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

Y si es realmente único, hay muchas personas para responder su pregunta en SO o en otro lugar.

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

  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 comprendido los conceptos básicos, podrá comenzar a codificar soluciones complejas de inmediato.
4
conmulligan

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

3
sandhya shendre

Bien...

Primero debes pensar por qué crees que jQuery es bueno pero no sabes qué argumentos usar para convencer a otro. Quizás deberías convencerte a ti mismo primero. ;)

De todos modos, jQuery es solo otro marco. Debería utilizarlo para lo que mejor hace. Si va a usarlo solo para el manejo básico de DOM, ¡olvídelo! ¡aprenda a usar js correctamente y estará bien!

Considere este 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>

Ponlo en un archivo hml con jquery disponible en <head>

Luego, abre firebug y ejecuta este código: console.profile (); test1 (); console.profileEnd ();

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

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

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

¡Mira los resultados tu mismo!

Pero si desea realizar una manipulación compleja en el DOM que requiera que realice varios bucles o descubra que los elementos del DOM coinciden con algunos criterios, puede considerar usar jQuery, ya que implementará estos procedimientos por usted.

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

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

¡Que te diviertas!

2
Ruben Oliveira

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 en cuestión y analice el rendimiento, la hinchazón, la experiencia, etc. y luego tome una decisión/propuesta específica.

2
Matter

He estado usando jQuery durante algunos meses y me ha parecido 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 deberías probar algunos, normalmente no toma mucho tiempo encontrar el que se siente mejor para ti.

No estoy seguro de si esto le importará, pero Microsoft anunció recientemente soporte para jQuery en la próxima actualización para VS 2008 Aquí está la publicación del blog .

Puedes escuchar a John Resig, el tipo detrás de jQuery, hablando de ello en varios otros marcos en un reciente podcast de Boagworld . Podría ayudarte a decidir que es una pieza bastante equilibrada.

1
Dean

Jquery ha existido durante algunos años, por lo que, como todos los demás han dicho, tiene una comunidad profunda, muchos complementos y un soporte decente. Lo que me dejó a un lado fue que es fácil de aprender.

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

1
Mike

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

Encontré esta página que habla sobre este tema exacto.

1
dawnerd

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

1
Erlend Halvorsen

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 de Ruby en Rails ayudantes llamados jRails.

En cuanto al rendimiento, todos están bastante cerca: http://www.kenzomedia.com/speedtest/ Sin embargo, MooTools, dojo, ext y Prototype se ejecutan más rápido en mi entorno.

Mi pregunta es: ¿por qué quieres usarlo? ¿Es solo porque lo conoces mejor?

1
MattMcKnight

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

Realice una tarea como "busque todos los divs o tablas que contengan imágenes de la clase foo y adjunte un evento de clic a cada uno de ellos, lo que hará que se expandan al 50%". O algo más relevante para lo que estás haciendo.

Luego codifique eso con jQuery, Prototype, etc., y compare. ¿Cuál es más corto? ¿Más fácil de leer? ¿Más rápido para correr? (Puede encontrar una comparación de velocidades aquí .)

0
Nathan Long

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

0
Andrew Van Slaars