Novedades en jQuery 1.7

Tras dos release candidates se ha liberado la versión 1.7 de jQuery. Esta nueva versión estará disponible en las CDNs de google y Microsoft durante las próximas horas.

Las novedades incluidas en la versión 1.7 tienen muy en cuenta el incremento en tamaño y complejidad que las páginas y aplicaciones están experimentando. Por otro lado, y siguiendo con los principios y valores de jQuery, se han refactorizado varias APIs para mejorar su legibilidad y usabilidad.

A continuación va un resumen de las mejoras incluidas en la nueva versión:

on() y off()

Las APIs de tratamiento de eventos bind(), unbind(), delegate() y undelegate() se han unificado en los nuevos métodos on() y off(). Dependiendo de los parámetros de invocación ejecutarán las acciones que en versiones anteriores se llevaban a cabo bien con bind() bien con delegate()

$(elements).on( events [, selector] [, data] , handler );
$(elements).off( [ events ] [, selector] [, handler] );

En caso de especificar un selector la funcionalidad ejecutadra será la de delegate(), en caso contrario la de bind().

Además de unificar la sintaxis se han realizado mejoras sustanciales al rendimiento de los eventos delegados.

Asynchronous Module Definition (AMD)

Siguiendo la línea de mejoras para aplicaciones más grandes y complejas, jQuery 1.7 incorpora soporte para la especificación AMD la cual define un mecanismo para definir y cargar asíncronamente tanto módulos como sus dependencias. jQuery no ha incluido un motor de carga dinámica de módulos nuevo sino que permite la cooperación con sistemas existentes, maduros y ya aceptados por la comunidad como curl.js o RequireJS. La nueva integración permite que los Loaders controlen el proceso de carga y que el evento ready esté sujeto a la carga de los módulos y dependencias especificadas.

jQuery.deferred

Otra de las APIs que está experimentando un crecimiento en su uso es jQuery.deferred, que permite la creación de colas de tareas a base de concatenar tareas o callbacks asíncronos.

jQuery 1.7 añade varias mejoras a esta API para mejorar el control y monitorización durante la ejecución de las colas. En la nueva versión es posible suscribirse a eventos de progreso y comprobar el estado de ejecución.

Mejora del soporte de Html5 en IE6,7 y 8

IE6,7 y 8 no entienden muchos de los nuevos tags de html5, no sólo no los entiende sino que además los elimina del DOM. jQuery 1.7, a través de HTML5Shiv, añade mejoras a ciertas APIs como html() para dar soporte a esos tags.

Además de las mejoras detalladas cabe mencionar la mejora en las APIs de toggling de efectos las cuales presentan mejoras en el anidamiento de invocaciones.

Por último destacar que además de las novedades se han solventado casi 100 bugs notificados por la comunidad.

Sin duda una muy buena release gracias a un equipo fantástico!

Más información | blog jQuery En Genbeta Dev | Primera beta liberada de jQuery 1.7

Portada de Genbeta