El nuevo motor de animaciones web en Blink genera transiciones y animaciones CSS.

Alex Danilo

Los usuarios esperan animaciones fluidas de 60 fps en las IU modernas multidispositivo. Lograr ese nivel de rendimiento con las primitivas de animación actuales de la Web puede ser difícil. Por suerte, estamos trabajando en una nueva implementación de animación Blink que se acaba de enviar en Chrome Canary.

Lo interesante es que simplifica los componentes internos de Blink y sienta las bases para la inclusión de nuevas funciones de API de la especificación de Web Animations 1.0.

Hasta ahora, las animaciones de CSS y las transiciones de CSS eran implementaciones separadas, escritas de forma independiente, que no necesariamente funcionaban bien juntas. Durante los últimos años, los implementadores de navegadores han trabajado juntos en un modelo de animación de nueva generación compatible con funciones como la sincronización, el encadenamiento de animaciones para que se ejecuten en secuencia y la búsqueda de puntos arbitrarios en el tiempo de animación, lo que permite que las animaciones cambien de velocidad, reversión y mucho más]. Este esfuerzo condujo a la creación de la especificación W3C Web Animations 1.0.

El primer paso del equipo de Blink para lanzar Web Animations al mundo es reemplazar la implementación existente de Blink CSS Animations/Transitions de C++ por el motor Web Animations. Ahora que alcanzamos ese hito, nos gustaría que tantos desarrolladores como fuera posible verificaran que no haya nada roto y, lo que es más importante, que estén atentos al esfuerzo de implementación y nos envíen comentarios sobre lo que es bueno o malo, o sobre lo que podría necesitar cambios.

A continuación, veremos la implementación de una API que te permite crear, modificar e interrogar animaciones desde JavaScript. La API está diseñada para permitir que las animaciones se ejecuten de manera eficiente (mediante el uso de semántica declarativa para que JavaScript administre la creación de animaciones, pero deje el control del navegador) mientras se expone el control total de la animación al desarrollador de JavaScript.

Esperamos recibir comentarios activos sobre la API propuesta con el fin de asegurarnos de no pasar por alto ninguna función necesaria para un control potente de animaciones. Al igual que con cualquier función nueva, las especificaciones seguirán cambiando, por lo que este es el momento de hacerte escuchar. Idealmente, te suscribas a la lista de distribución public-fx@w3.org y colaboras en ella (y coloca [Animaciones web] en el asunto para que se destaque).

Prueba el nuevo motor que ya se utiliza en las animaciones y transiciones de CSS, y publica las extrañas funciones en el seguimiento de errores de Chromium para que conozcamos más al respecto.

Nos complace incorporar funciones de animación de nueva generación a Blink y esperamos continuar trabajando con otros desarrolladores de navegadores como WebKit y Mozilla, que también se comprometieron a implementar el nuevo modelo.