2010-04-09 14 views

Respuesta

11

de Pro

  • Elimina una gran cantidad de navegadores Javascript emite
  • puede llevar a cabo operaciones de Javascript complicados en poco código
  • puede agregar fácilmente funcionalidad Ajax para APP
  • ha construido en las bibliotecas de interfaz de usuario y efectos

Con's

  • de arriba de la adición de JavaScript adicional a la página
  • curva de aprendizaje puede no ser corto para algunos desarrolladores
+11

Diría que la curva de aprendizaje jQuery es la más corta en comparación con todas las otras bibliotecas JS. Una de las razones de la popularidad de jQuery. –

+0

@Ivo: Estoy de acuerdo. Pero al mismo tiempo, tal vez para abreviar. jQuery ciertamente ayuda mucho, pero puede dificultar que los desarrolladores aprendan verdadero javascript. – fredrik

+1

"Se pueden realizar complicadas operaciones de Javascript en un código pequeño" - no del todo cierto. Un pequeño código para "usted" para escribir, pero la cantidad total de código para realizar una determinada acción a menudo está en el lado pesado. – fredrik

7

Todos los profesionales, sin contras

Lo único que se aplicará será la sobrecarga del tiempo de ejecución que jQuery agrega para cargar sus archivos y ejecutar sus funciones, pero en comparación con el Pro de codificación de JavaScript compatible con el navegador no es nada.

También en comparación con otras bibliotecas JavaScript jQuery es una de las más rápidas y pequeñas. Su comunidad es enorme y puedes encontrar fácilmente soporte y buena documentación.

+0

Cualquier persona que considera el uso de una biblioteca de propósito general como jQuery debe pensar con cuidado y ser conscientes de los problemas (como la no despreciable uno de incluir 70K de JavaScript en cada página) antes de elegir a usarlo, así que creo que diciendo que no son sin inconvenientes no es útil. –

+1

La versión de producción es 24KB – yassin

+0

Como Yassin dijo que jquery gzipped y minified es de 24 kb. También mencioné que jquery viene con la ligera inconveniencia de algunas cosas extra para descargar y ejecutar, pero en comparación con los beneficios es insignificante. –

4

Has hecho una buena elección, no te preocupes. jQuery es una biblioteca muy bien diseñada: es potente, limpia, bien documentada y extremadamente popular. Aprende bien, y será una poderosa herramienta en tu arsenal.

Dicho esto, creo que para ser realmente consciente de sus ventajas y desventajas frente a otros marcos, primero debe aprenderlo bien. Solo una comprensión más profunda de una herramienta le permite una comparación real con otras herramientas.

3

La única desventaja que se me ocurre es el ocasional memory leaks. Es un gran marco además de javascript y no es restrictivo.

Dicho esto, jQuery UI es terrible para mi gusto y si su aplicación requiere una interfaz de usuario altamente interactiva, intente Ext JS.

5

Pros:

  • grande comunidad
  • útil para seleccionar y iterar sobre conjuntos de DOM nodos
  • elimina algunas inconsistencias entre navegadores
  • hace que sea fácil para los desarrolladores de JavaScript inexpertos hacer scripting relativamente complejo tareas

Contras:

actualizaciones
  • regulares que cambian el comportamiento existente
  • Algunos métodos de la API fundamentales confusas (por ejemplo,Método attr(): ¿qué exactamente hace? Ciertamente difumina la línea entre los atributos y propiedades)
  • Alienta "encadenamiento", lo que conduce a código que es difícil de depurar: en una larga cadena de llamadas a métodos de jQuery, no hay ningún lugar para poner las declaraciones de registro, por lo que necesita una completa el depurador
  • breve lista de los navegadores compatibles
  • un punto general acerca de las bibliotecas de propósito general: que animar a los desarrolladores a no intentar comprender los problemas subyacentes que las bibliotecas tratan de resolver, lo que lleva a una tendencia a pensar en la biblioteca como mágico y utilizarlo para absolutamente todo
  • añade 70K de JavaScript para todas las páginas donde se utiliza cuando menudo unos pocos bytes de código jQuery no harían
  • El rendimiento es generalmente mucho más lento que el equivalente (bien pensado a través de) la no jQuery código
  • Calidad de plug-ins es muy variable de
+2

Puedo ver una gran cantidad de parcialidad aquí. Parece que te has perdido algunos pros ... Por cierto, son 19k con min + gzip. El encadenamiento no es intrínsecamente un problema: tus experiencias pueden decir lo contrario, pero no puedes simplemente hacer una afirmación plana como esa y esperar que retenga el agua. – James

+3

Además, es una locura tomar un método ("attr") y luego decir que toda la API está "confundida" ... Creo que muchos de tus puntos requieren confirmación. – James

+0

J-P: Como estoy seguro de que se da cuenta, no estaba contando gzip en el tamaño de la biblioteca, ya que no siempre es así. Además, el tamaño sin gzip es más relevante cuando se considera el trabajo que el intérprete de JavaScript necesita hacer. Con respecto a tus otros puntos, voy a dar forma a mi respuesta en breve. ¿Qué profesionales crees que me estoy perdiendo? Estoy abierto a la idea de que no he pensado en algunos. –

2

Los pros y los contras son realmente en relación con lo que su nueva web aplicación estará haciendo. Si va a ser JavaScript/Ajax-rich y requiere compatibilidad con varios navegadores, entonces jQuery es el camino a seguir, sin duda. Sin embargo, si solo vas a usar JavaScript muy poco, puede que sea demasiado para incluir un marco de gran tamaño, y sería más eficiente (en términos de rendimiento y tamaño de página) codificar el JavaScript directamente.

+0

Hay otras bibliotecas JS. Si va a ser muy rico, es probable que uno que se enfoque en proporcionar widgets (como ExtJS) sea mejor. – Quentin

+0

¿Por qué se ha votado negativamente? ¿Qué en su respuesta es incorrecto? – James

+0

"rico" no es solo un sinónimo de "muchos widgets" (aunque jQuery tiene muchos de estos widgets, incluida jQuery UI). jQuery es un marco de programación flexible, no solo un conjunto de controles y temas bonitos (tan útiles como estos últimos). –

1

Pros: Ligero, fácil de usar, una buena documentación, se deshace de casi todos los problemas entre exploradores y normaliza el modelo de eventos.

Contras: jQuery UI no tiene mucho que ofrecer, y los plugins son impredecible.

Si estás haciendo una aplicación rica de Internet muy JavaScript-pesada, ir con YUI o ExtJS. jQuery es una excelente biblioteca de manipulación de DOM, y es lo mejor para el trabajo de IU altamente personalizado. Pero si necesita una gran cantidad de UI estándar y un sólido sistema de administración de datos detrás de ella, necesita un marco más amplio para unir todo.

Cuestiones relacionadas