Nouveau moteur d'animations Web en un clin d'œil pour gérer les animations et les transitions CSS

Alex Danilo

Les utilisateurs s'attendent à des animations à 60 FPS fluides dans les interfaces utilisateur multi-appareils modernes. Atteindre ce niveau de performance avec les primitives d'animation actuelles sur le Web peut s'avérer difficile. Heureusement, nous travaillons sur une nouvelle implémentation de l'animation Blink, qui vient d'être disponible dans Chrome Canary.

Ce qui est intéressant, c'est qu'il simplifie les fonctionnalités internes de Blink et permet de jeter les bases de l'inclusion de nouvelles fonctionnalités d'API issues de la spécification Web Animations 1.0.

Jusqu'à présent, les animations CSS et les transitions CSS étaient des implémentations distinctes, écrites indépendamment, qui ne se comportaient pas forcément bien ensemble. Ces dernières années, les développeurs des navigateurs ont travaillé ensemble sur un modèle d'animation nouvelle génération compatible avec des fonctionnalités telles que la synchronisation, l'enchaînement d'animations pour qu'elles s'exécutent dans l'ordre, la recherche de points arbitraires dans le temps d'animation, ce qui permet aux animations de changer de vitesse, de s'inverser, etc.] Cet effort a conduit à la création de la spécification W3C Web Animations 1.0.

Pour diffuser des animations Web, l'équipe Blink commence par remplacer l'implémentation C++ existante de Blink CSS Animations/Transitions par le moteur Web Animations. Maintenant que cette étape franchie, nous aimerions qu'un maximum de développeurs vérifient que tout n'a pas été endommagé et, surtout, surveillent les efforts d'implémentation et nous font part de leurs commentaires sur les points positifs ou négatifs.

L'étape suivante consiste à implémenter une API qui vous permet de créer, de modifier et d'interroger des animations à partir de JavaScript. L'API est conçue pour permettre l'exécution efficace des animations (en utilisant une sémantique déclarative afin que JavaScript gère la création d'animations tout en remettant le contrôle au navigateur) tout en offrant un contrôle total des animations au développeur JavaScript.

Nous attendons des commentaires actifs sur l'API proposée pour nous assurer de n'avoir manqué aucune fonctionnalité nécessaire à une commande d'animation puissante. Comme pour toute nouvelle fonctionnalité, les spécifications continueront d'être modifiées. C'est donc le moment de vous faire entendre, idéalement en vous abonnant à la liste de diffusion public-fx@w3.org et en y participant (en ajoutant [Web Animations] dans l'objet pour qu'elle soit remarquée).

Essayez le nouveau moteur qui gère déjà les animations et transitions CSS dès maintenant, et signalez toute étrangeté dans l'outil de suivi des bugs de Chromium pour nous en informer.

Nous sommes ravis de proposer des fonctionnalités d'animation nouvelle génération à Blink. Nous avons également l'intention de collaborer avec d'autres développeurs de navigateurs tels que WebKit et Mozilla, qui se sont également engagés à mettre en œuvre le nouveau modèle.