- La influencia de jQuery en la web es innegable
- Desde su primera presentación en 2006, se convirtió de inmediato en una herramienta básica para los desarrolladores web
- Simplificó la manipulación de documentos HTML, el manejo de eventos, las animaciones y más
- También ha desempeñado continuamente un papel importante en la evolución de los estándares web y las funciones de los navegadores
- Aunque con la aparición de los frameworks modernos de JavaScript cada vez menos desarrolladores eligen jQuery para proyectos nuevos, su uso global sigue siendo muy alto
- Según un análisis de resultados de una encuesta de IDC, el 90% de todos los sitios web usa jQuery
- De ellos, cerca de 1/3 usa versiones antiguas
- El equipo de jQuery y la OpenJS Foundation están trabajando para resolver esto como parte de la campaña Healthy Web checkup
- Esta guía explica por qué es importante mantener actualizada la versión de jQuery y orienta sobre el proceso de actualización
Por qué es importante actualizar jQuery por seguridad
- Vulnerabilidades de seguridad
- En la base de código de jQuery puede haber diversas vulnerabilidades, desde XSS hasta RCE
- El equipo de jQuery proporciona parches y actualizaciones a medida que se descubren
- Al actualizar a la versión más reciente, se aplican estas correcciones de seguridad y se reduce el riesgo de que los atacantes las exploten
- Buenas prácticas de seguridad
- Las nuevas versiones de jQuery incorporan buenas prácticas y mejoras de seguridad para mitigar amenazas comunes
- Actualizar permite adoptar estas buenas prácticas y fortalecer la postura de seguridad de la aplicación
- Requisitos de cumplimiento
- Muchos marcos regulatorios y sectores exigen mantener el software actualizado y resolver con rapidez las vulnerabilidades conocidas
- Si no se actualiza jQuery para corregir problemas de seguridad, es posible incumplir estos requisitos
Compatibilidad con navegadores
- jQuery 1.x, 2.x y 3.x tienen listas distintas de navegadores compatibles
- Sin embargo, considerando el uso actual del mercado de navegadores, en casi todos los casos basta con los navegadores compatibles con jQuery 3.x, como IE 9+
- Está previsto que jQuery 4.x siga siendo compatible con IE11, aunque Microsoft ya anunció el fin de su soporte oficial
Cómo actualizar jQuery
- El equipo de jQuery ofrece el plugin jQuery Migrate para que la actualización sea lo más sencilla posible
- Es una herramienta de desarrollo que genera mensajes de advertencia en la consola del navegador para identificar y corregir problemas de compatibilidad
- Restaura temporalmente funciones y comportamientos obsoletos para que el código antiguo siga ejecutándose en nuevas versiones de jQuery mientras se corrigen los problemas de compatibilidad
- jQuery Migrate tiene dos versiones: 1.x y 3.x (no hay 2.x)
- Solo debe usarse una versión a la vez
- Si se actualiza desde una versión anterior a jQuery 1.9, puede ser necesario usar ambas versiones en secuencia
- Por ejemplo, si la versión actual de jQuery es 1.4.4
- Primero se actualiza a jQuery 1.12.4 usando jQuery Migrate 1.x, y luego
- se actualiza a la versión más reciente de jQuery (actualmente 3.7.1) usando jQuery Migrate 3.x
- Si la versión actual es 2.2.4, puede actualizarse a la versión más reciente de jQuery usando solo jQuery Migrate 3.x
Cómo usar jQuery Migrate
- Primero, agrega jQuery Migrate a la página después de cargar jQuery
- Luego, prueba el sitio web o la aplicación
- Cuando se usan distintas API de jQuery, jQuery Migrate registra en la consola mensajes de advertencia sobre elementos obsoletos o cambios importantes
- Corrige cada advertencia una por una
- Por último, cuando ya no se registren advertencias en la consola y todos los cambios importantes hayan sido resueltos, elimina jQuery Migrate y la migración estará completa
- Para más detalles, consulta el README de jQuery Migrate
Guías de actualización de jQuery
- Las jQuery Upgrade Guides pueden ser útiles si quieres encontrar información detallada sobre cambios importantes o ver la lista completa de cambios relevantes de cada versión
- Las guías de actualización de jQuery 1.9, 3.0 y 3.5 enumeran todos los cambios importantes introducidos en esas versiones
- Es probable que la mayoría de los cambios importantes listados no apliquen a tu código, pero estas guías agregan contexto y explicación para cada cambio
Notas sobre futuras versiones de jQuery
- jQuery 4.0 se acerca, así que quizá te preguntes cómo será el proceso de actualización a jQuery 4.x
- La respuesta es que será igual que actualizar a jQuery 3.x y podrá hacerse en un solo paso
- Es decir, no es necesario actualizar a jQuery 3.x antes de pasar a jQuery 4.x
- Se podrá actualizar directamente de jQuery 1.9+ a jQuery 4.x
- También planean preparar una guía de actualización para jQuery 4.0
Opinión de GN⁺
- Como jQuery sigue usándose ampliamente en muchos sitios web, actualizar su versión es una tarea importante para los desarrolladores web
- Si se sigue usando una versión antigua, se puede quedar expuesto a vulnerabilidades recién descubiertas y también pueden surgir problemas de rendimiento
- Sin embargo, en sistemas legacy que usan versiones antiguas de jQuery, la actualización puede requerir mucho tiempo y costo
- En esos casos, una forma de reducir el riesgo puede ser aplicar solo parches de seguridad, entre otras medidas
- El uso del plugin Migrate y similares puede facilitar la actualización, pero existe la posibilidad de que surjan problemas de compatibilidad
- Esto es aún más probable si se trata de código legacy con alta dependencia de jQuery
- Para resolverlo, se necesita una migración gradual
- Si se trata de un proyecto nuevo, puede ser conveniente diseñarlo desde el inicio para no depender de jQuery
- Usar Vanilla JS o frameworks frontend modernos es una opción más orientada al futuro
- Para los desarrolladores que han trabajado con jQuery, esta también puede ser una buena oportunidad para probar nuevas tecnologías y ampliar sus capacidades
3 comentarios
Si no actualizas jQuery y no solucionas los problemas de seguridad
--> Si no actualizas jQuery o no solucionas los problemas de seguridad