Os usuários esperam animações suaves de 60 fps em interfaces modernas para vários dispositivos. Alcançar esse nível de desempenho com os primitivos de animação atuais da Web pode ser difícil. Felizmente, estamos trabalhando em uma nova implementação da animação Blink que acaba de ser lançada no Chrome Canary.
O mais interessante é que ele simplifica o funcionamento interno do Blink e estabelece as bases para a inclusão de novos recursos de API da especificação Web Animations 1.0 (link em inglês).
Até agora, animações e transições CSS eram implementações separadas, escritas de maneira independente, que não funcionavam bem juntas. Nos últimos anos, os implementadores de navegadores trabalharam juntos em um modelo de animação de última geração com suporte para coisas como sincronização, encadeamento de animações para execução em sequência, buscando pontos arbitrários no tempo de animação, permitindo que as animações mudem de velocidade, inversão e muito mais.] Esse esforço levou à criação da especificação W3C Web Animations 1.0 (link em inglês).
O primeiro passo da equipe do Blink para disponibilizar as animações da Web ao mundo é substituir a implementação existente de Animações CSS/transições em C++ do Blink pelo mecanismo Web Animations. Tendo alcançado esse marco agora, gostaríamos que o maior número possível de desenvolvedores verificasse se não há nada de errado e, o mais importante, ficamos atentos ao esforço de implementação e nos dê feedback sobre o que é bom/ruim ou pode precisar de alterações.
A seguir, vamos abordar a implementação de uma API que permite criar, modificar e interrogar animações no JavaScript. A API foi projetada para permitir que as animações sejam executadas de forma eficiente (usando semântica declarativa para que o JavaScript gerencie a criação de animações, mas com controle total ao navegador) e, ao mesmo tempo, expondo o controle total da animação para o desenvolvedor JavaScript.
Estamos em busca de feedback ativo sobre a API proposta para garantir que não tenhamos perdido nenhum recurso necessário para um controle eficiente de animações. Como acontece com qualquer novo recurso, a especificação continuará a mudar, então agora é a hora de se manifestar. O ideal é assinar e contribuir para a lista de e-mails public-fx@w3.org (e colocar [Web Animations] na linha de assunto para que seja notado).
Teste o novo mecanismo que já usa as animações e transições CSS agora mesmo e poste qualquer coisa estranha no rastreador de bugs do Chromium para ficarmos informados.
Estamos empolgados em trazer recursos de animação de última geração para o Blink e queremos trabalhar com outros desenvolvedores de navegador, como o WebKit e o Mozilla, que também se comprometeram a implementar o novo modelo.