2009-04-04 9 views
8

Recientemente he estado pensando mucho acerca de dónde trazar la línea, y quería obtener algunas respuestas de los desarrolladores ha experimentado por ahí. ¿Cuándo es aceptable hacer referencia a jQuery en una aplicación web?¿Cuándo es aceptable usar jQuery?

Algunos argumentos de apoyo para siempre utilizando jQuery:

  • Puede hacer referencia a jQuery desde el repositorio de Google, donde ya puede ser almacenado en caché en el cliente, lo que elimina la solicitud considerable adicional
  • no te tener que lidiar con los problemas entre navegadores comunes, puesto que ya son atendidos
  • te gusta escribir el código, ya que es amistoso con el desarrollador

Algunos argumentos de apoyo para que nunca se usa jQuery:

  • dependencia inquietante de una biblioteca de terceros, que podrían contener errores costosos, y podría conducir a injustificadamente bajo rendimiento
  • usted tiene que aprender una nueva sintaxis (justo cuando pensaba que tenía regulares Javascript descubierto ...)
  • Incluso la más simple de las tareas se pueden realizar mal, debido a la complejidad inherente al marco

Incluí los argumentos como parte de la pregunta porque no deseo tener respuestas que sopesen los argumentos de ambas partes. Espero respuestas siempre/nunca, preferiblemente con escenarios de casos de prueba (vago o detallado).

Por ejemplo: "Si alguna vez tengo que hacer alguna petición AJAX en mi aplicación web, siempre uso jQuery".

+0

Este es un duplicado de otras 10 preguntas como mínimo. – Learning

+1

Lo busqué. No pude encontrar nada. Enlace por favor. –

+0

"eliminando la solicitud extra [19K]"? – GalacticCowboy

Respuesta

27

Si alguna vez tengo que hacer nada más allá document.getElementById() en mi aplicación web, siempre uso de jQuery.

honestamente encontrar la mayoría de sus argumentos contra la estafa jQuery bastante débil, en particular la última:

Incluso la más simple de las tareas se pueden realizar mal, debido a la complejidad inherente de la estructura.

No estoy de acuerdo con eso en absoluto. jQuery es increíblemente simple a la vez que poderoso y eso es lo que me encanta de él.

+0

Esta es una buena respuesta, gracias :) –

+1

Primero, me encanta jQuery, también. Pero si su sitio tiene mucha funcionalidad de Javascript, el 19K definitivamente es excesivo. jQuery tiene problemas de rendimiento: http://tiny.cc/DavidMarkJquery –

+1

LOL - Quise decir "si tu sitio NO" –

2

Es aceptable cuando se desea una mayor flexibilidad que simplemente no está en el DOM. Por defecto no incluyo JQUERY; sin embargo, tan pronto como tenga que levantar el lado del cliente, me mudaré a JQUERY.

siquiera voy a utilizar jQuery y MSAjax al mismo tiempo (en su mayoría en las páginas de legado que estoy alejando de MSAjax).

1

yo diría que es aceptable el uso de jQuery cada vez que no quiere perder el tiempo tratando con diferentes implementaciones de JavaScript. Que probablemente sea bastante parecido a siempre ...

Si lo que haces es algo bastante pequeño y trivial, la introducción de jQuery (19 KB minificado) como dependencia puede ser un poco exagerado.

¡No reinvente la rueda si no es necesario!

3

No importa, puede escribir un buen código o código podrido, con o sin jquery.

1

No hay muchas cosas que encuentre útiles para Javascript que jQuery no simplifique.

Para la validación de datos, prefiero tener solo una implementación de eso, y dado que tengo que hacer que el servidor valide todo de todos modos, también podría usar AJAX para la validación de formularios. jQuery es muy bueno en eso.

Para DOM Manipulation, jQuery proporciona una forma concisa de expresar lo que probablemente necesite. Ciertamente más corto y probablemente más claro que las llamadas de función de 3 a 10 que de otra manera necesitaría.

Los efectos visuales rara vez son realmente necesarios. También son difíciles de hacer portátiles. Para el beneficio, si no puedo encontrar un efecto visual preempaquetado, probablemente esté mejor sin él. jQuery UI y varios complementos establecidos se ajustan a la ley.

Hay muchas otras librerías de JavaScript, y estoy seguro de que muchas de ellas son geniales, pero a menos que proporcionen una función absolutamente indispensable (por ejemplo, API de Google), probablemente pueda hacer que jQuery también lo haga, y Ya estoy familiarizado con jQuery.

22

dependencia inquietante de una biblioteca de terceros , que podría contener costosos insectos, y podría conducir a injustificadamente bajo rendimiento

En conjunto, los desarrolladores de jQuery han invertido mucho más esfuerzo en la eliminación de insectos y problemas de rendimiento en una amplia variedad de navegadores que usted o cualquier otro equipo pequeño podría permitirse.

El síndrome de No Inventar-Aquí es una pérdida de tiempo.

+0

en serio. Ya tiene las "dependencias perturbadoras" de la infraestructura de red, el navegador, el sistema operativo, etc. IE6 podría absorber el rendimiento de su aplicación y no tendría más remedio que vivir con ella o tratar de evitarla. Con jquery también tiene la opción de parchear. – bstpierre

1

Nunca uso jQuery ... ¿por qué? Nunca lo pensé realmente, supongo que no he encontrado una razón para usar algo más que Javascript simple. Además, no me gusta confiar en capas de abstracción que no entiendo. (Por supuesto, las cosas que hago con Javascript no son particularmente complicadas, así que en mi caso quizás jQuery realmente sería más problemático de lo que vale.)

1

Hoy agregué un parche de Javascript a una página donde tenía que moverme un div fuera de su lugar original en el árbol DOM y conviértalo en un elemento secundario del cuerpo, para que pueda colocarse correctamente. Sabía que solo tendría que suceder una vez, al inicio, a un div idd específico, y que la página no usaría ningún otro comportamiento de JS. Así que lo escribí a mano.

Para algo más complejo, es jQuery. La API de alto nivel simplemente me ahorra tanto tiempo que de lo contrario tendría que pasar "hablando mal" a la computadora.

0

Bueno, al menos hasta EcmaScript 5 saldrá a la luz y hasta que los navegadores implementen en sus motores JavaScript un conjunto común de especificaciones, jQuery es la mejor herramienta que tenemos para resolver problemas en el navegador. No hace mucho, cada vez que iniciaba un archivo js tenía que comenzar con una función browser detect. Usé prototype, mootools, dojo y últimamente jQuery y estoy muy satisfecho con la ayuda que me brindan.

0

El uso de jQuery solo por la compatibilidad del navegador no es motivo suficiente para usar jQuery. La mayoría del marco de JavaScript en estos días ya puede resolver eso.En cuanto a mí, usaría jQuery si alguna vez necesito una herramienta de manipulación de DOM muy simple que tenga soporte para Ajax. Si alguna vez necesito algo más que eso, usaría otro framework de JavaScript. Usaría Mootools si necesito soporte Javascript Object Oriented y usaría Ext-JS si alguna vez necesito widgets integrados extensos.

Cuestiones relacionadas