una - ¿Qué ventajas tiene jQuery sobre otras bibliotecas de JavaScript?
llamar archivo javascript desde html (18)
Estoy tratando de convencer a aquellos que establecen estándares en mi organización actual que debemos usar jQuery en lugar de Prototype y / o YUI. ¿Cuáles son algunas ventajas convincentes que puedo usar para convencerlos?
Es el lenguaje más bien pensado que encontrarás; es casi intuitivo.
¿Quieres el ancho de un elemento?
$(''#something'').width();
¿Quieres agarrar un elemento, esconderlo, cambiar el color de fondo y volver a fundirlo?
$(''#something'').hide().css(''background'', ''red'').fadeIn();
¿Qué hay de la creación de tablas para IE (suponiendo que se defina la clase estacionario)?
$(''table tr'').hover(function() {
$(this).addClass(''hover'');
});
Es un trabajo rápido y sin sentido como este que realmente ayuda a vender jQuery.
Es muy pequeño, especialmente cuando se minimiza, y ofrece mucho en la biblioteca principal.
También es fácil de ampliar y tiene una comunidad activa.
- Finalmente, es extremadamente fácil de aprender; una vez que haya captado los conceptos básicos, puede comenzar a codificar soluciones complejas de inmediato.
¿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 expandan un 50%". O algo más relevante para lo que estás haciendo.
A continuación, 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? ( Aquí puede encontrar una comparación de velocidad).
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 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.
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é esta página que habla sobre este tema exacto.
Tal vez 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.
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 bastante cercanos: 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?
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.
Una de las ventajas de jQuery es la gran comunidad que ha desarrollado una multitud de complementos.
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 capacidades de soporte y depuración de complementos.
- Muy buena documentación para una biblioteca de terceros.
- Ligero.
- Las capacidades de encadenamiento son muy poderosas.
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.
Jquery ha existido por unos años, así que, como todos han dicho, tiene una comunidad profunda, muchos complementos y un soporte digno. Lo que lo dejé de lado fue que es fácil de aprender.
He estado usando jQuery durante algunos meses y he encontrado que es 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 de VS 2008 Aquí está la publicación del blog .
Puedes escuchar al John Resig, el chico detrás de jQuery, hablando de ello en varios otros marcos en un reciente podcast de Boagworld . Puede ayudarte a tomar una decisión, es una pieza bastante equilibrada.
Si intenta convencer a las personas desde una perspectiva comercial, la reciente decisión de Microsoft de 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.
Puede seguir este enlace para saber más sobre jQuery, por qué usarlo y cuáles son sus ventajas.
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.
Bien...
Primero debes pensar por qué piensas que jQuery es bueno pero no sabes qué argumentos usar 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!
Considera 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, abra firebug y ejecute 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 quiere hacer alguna manipulación compleja en el DOM que requiera que haga varios bucles o descubra que los elementos en el DOM coinciden con algunos criterios, puede considerar el uso de jQuery ya que implementará estos procedimientos 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".
Utilizo 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!
¡Que te diviertas!
Las 3 principales ventajas de jQuery son:
- su peso ligero en comparación con otros marcos 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 usa una sintaxis CSS conocida. jQuery es Javascript para diseñadores