¿Cuándo actualizar jQuery?

19

¿Cuándo recomienda actualizar jQuery / jQuery UI? O en otras palabras: ¿cuáles son las mejores prácticas para actualizar jQuery / jQuery UI?

Estoy trabajando en un proyecto largo que tomará al menos un año más. En ese lapso de tiempo, estoy seguro de que jQuery / jQuery UI se actualizará muchas veces.

¿Recomienda actualizar mis archivos jQuery / jQuery UI cada vez que se publique una actualización? ¿O es mejor seguir con una versión particular hasta el final del proyecto?

Tengo miedo de "romper" los cambios de código, y cada vez que se lanza una actualización, tengo que probar todo. Eso lleva demasiado tiempo. Pero, por otro lado, si no actualizo, tengo miedo de los errores que luego me morderán en la parte trasera.

El proyecto es un ASP.MVC y uso mucho jQuery.

¿Alguna idea?

Yannis
fuente
Este artículo puede ser relevante: insta a estar siempre en la punta al vincular a la versión alojada por Google: encosia.com/…
Alex Feinman

Respuestas:

19

Actualice su versión de jQuery si y solo si necesita alguna característica nueva que se incluye en la nueva versión. Simple como eso.

Si desarrolla con frecuencia usando jQuery, esté atento al blog oficial para saber cuándo se lanzan las actualizaciones y qué ofrecen. Espere un par de semanas antes de actualizar a la última versión para asegurarse de que cualquier error inesperado sea eliminado.

Blazemonger
fuente
1
+1 es la forma más estable de hacerlo, la actualización en aras de la mejora aumenta su tiempo de desarrollo general cuando termina luchando contra errores.
Nicholas Smith
2
Además, vigile sus complementos. A veces, la corrección de errores de un complemento requiere actualizar el código central de jQuery.
Adrian J. Moreno
12
No estoy de acuerdo con esta respuesta. Si el producto aún está en desarrollo, como parece ser la pregunta, actualice con cada nueva versión de jQuery. Si el producto está en producción, entonces estoy de acuerdo con esta respuesta, actualice solo cuando se requiera una actualización (corrección de errores, nueva función, etc.)
Chuck Conway
@ChuckConway: Bien dicho.
Jim G.
20

Debería actualizar con cada versión de jQuery, solo eche un vistazo a los registros de actualización antes de actualizar.

El equipo de jQuery es muy bueno para documentar cambios de API y llamadas en desuso . En este punto, la gran mayoría de la API es bastante estable y probablemente no cambiará. La mayoría de los cambios son correcciones de errores detrás de escena que no afectan la API externa. Esto es especialmente cierto con los últimos lanzamientos (1.8+).

Otra gran razón para actualizar es porque, independientemente de si permanece en un proyecto o no, ese proyecto será mantenido por alguien después de que haya terminado con él. La actualización a la última versión es beneficiosa para usted, futuros desarrolladores y usuarios, porque las versiones más nuevas de jQuery eliminan a las más antiguas del agua ... así que continúe y actualice el thang.

Cory Danielson
fuente
44
Esta debería ser la respuesta aceptada, dejándola solo significa que cuando finalmente quieres actualizar tienes que hacer saltos de versiones más grandes, lo cual es mucho más difícil.
Daniel Little
5

Actualice lo antes posible sin romper nada. Nuevas funcionalidades, corrección de errores, nuevas características se introducen en cada iteración.

Es posible que no necesite las últimas funciones, pero cuando lo haga, deberá validar cada nueva versión entre lo que tiene para asegurarse de que no rompa nada.

Un pequeño incremento le permitirá mantener todo actualizado sin tener que actualizar 5 versiones principales y pasar 5 horas probando todo a la vez.

Maxime Rouiller
fuente
1
Todavía estoy tratando de averiguar si la actualización de 1.4.x a 1.7.x romperá algo.
styfle
4

¿Necesita alguna de las nuevas funciones incluidas en una versión más nueva de JQuery? ¿Su sitio funciona como se espera hoy?

Si respondió "no" a la primera y "sí" a la segunda pregunta, no actualice jQuery.

Si necesita una nueva funcionalidad, debe equilibrar esto con el costo del aumento de las pruebas y la posible introducción de nuevos problemas.

Si tiene problemas con su versión actual de JQuery, entonces una versión más nueva puede haber solucionado su problema, pero aún tiene una mayor carga de prueba porque debe asegurarse de que la nueva versión no rompa nada más.

Es por eso que es tan esencial contar con un buen conjunto de pruebas unitarias, funcionales y de características.

Richard Turner
fuente
2

Solo usted puede decidir si los riesgos valen la pena. Personalmente, me gusta estar al día. Sin embargo, he introducido algunos errores al actualizar que rompieron algo (o causaron un comportamiento extraño). Como tiene un año de desarrollo por delante, es probable que tenga que pasar por un control de calidad final de todos modos.

Yo digo mantenerse al día. Es mucho más fácil hacer integraciones pequeñas continuas que grandes a la vez.

Erik Funkenbusch
fuente
0

Prueba. Prueba, prueba, prueba, prueba, prueba.

Utilicé la versión de jQuery UI (luego actual) en un proyecto, y utilicé un complemento externo llamado .autocomplete que hizo la funcionalidad de escritura anticipada, vinculando un campo de texto a una fuente de datos JSON. Lo usé MUCHOS lugares.

Luego, meses después, necesitaba agregar un control deslizante que solo venía en una versión posterior. Desafortunadamente, esa versión actual agregó una función de autocompletar nativa , que según ellos era el sucesor espiritual del complemento que había usado, pero que usaba una metodología, funciones y requisitos de datos completamente diferentes, rompiendo los campos de autocompletar en cada página que usé mi nuevo control deslizante en.

Debido a que las páginas en las que estaba desarrollando esta nueva característica no usaban autocompletar, no me di cuenta. Debido a que mi cliente tenía prisa por presentar esta función antes de una feria comercial, se apresuró a través de la puesta en escena y las pruebas, y entró en producción con un crapton de autocompletas rotas.

Finalmente, fue un fracaso de MIS pruebas. Y la lección aprendida es que jQuery y jQuery UI tienen muy poco interés en la compatibilidad con versiones anteriores. Lo que nos exige, como desarrolladores, probar y probar y probar.

Dan Ray
fuente
-1

En mi experiencia, las nuevas versiones de jQuery son generalmente más rigurosas en sus requisitos de limpieza del código con respecto al código de llamada (su código).

Hay numerosos elementos que han quedado en desuso ( http://api.jquery.com/category/deprecated/ ). Desafortunadamente, no hay una etiqueta obsoleta en la página. Las desvalorizaciones antiguas tienen más probabilidades de romper algo

Lo más notable (para mí), el :checkboxselector y la toggle()función han quedado en desuso. Hace algún tiempo, este cambio ha afectado mi propio código jquery (el más antiguo). No me di cuenta por un tiempo.

Por otro lado, las nuevas versiones de jQuery generalmente vienen con mejoras sustanciales de rendimiento. Consulte los registros de cambios, o tal vez una de las presentaciones de John Resig para ver dónde se realizaron las mejoras de rendimiento. Si obtendrías algún beneficio de ellos ... eso depende de ti decidir.

knb
fuente