Il nuovo motore per le animazioni web in blink ottimizza le animazioni e le transizioni CSS

Alex Danilo

Gli utenti si aspettano animazioni fluide a 60 fps nelle UI multi-dispositivo moderne. Raggiungere questo livello di prestazioni con le attuali primitive di animazione del web può essere difficile. Fortunatamente, stiamo lavorando a una nuova implementazione dell'animazione Blink che è stata appena rilasciata in Chrome Canary.

La cosa interessante è che semplifica le parti interne di Blink e getta le basi per l'inclusione di nuove funzionalità dell'API dalla specifica Web Animations 1.0.

Fino a questo momento, le animazioni CSS e le transizioni CSS erano implementazioni separate, scritte in modo indipendente, che non necessariamente funzionavano bene insieme. Negli ultimi anni, gli implementatori dei browser hanno lavorato insieme a un modello di animazione di nuova generazione con il supporto di funzionalità come la sincronizzazione, l'accodamento delle animazioni per l'esecuzione in sequenza, la ricerca di punti arbitrari nel tempo di animazione, la possibilità di modificare la velocità delle animazioni, l'inversione e altro ancora.] L'impegno ha portato alla formazione della specifica W3C Web Animations 1.0.

Il primo passo del team di Blink per rendere disponibili le animazioni web è sostituire l'implementazione esistente di animazioni/transizioni CSS di Blink in C++ con il motore di animazioni web. Ora che abbiamo raggiunto questo traguardo, vorremmo che il maggior numero possibile di sviluppatori controllasse che non ci siano problemi e, soprattutto, che monitorasse lo sforzo di implementazione e ci fornisse un feedback su cosa va bene/male o potrebbe dover essere modificato.

A breve verrà implementata un'API che consente di creare, modificare e interrogare le animazioni da JavaScript. L'API è progettata per consentire l'esecuzione efficiente delle animazioni (utilizzando la semantica dichiarativa, in modo che JavaScript gestisca la creazione delle animazioni, ma trasferisca il controllo al browser), pur esponendo il controllo completo delle animazioni allo sviluppatore JavaScript.

Siamo alla ricerca di feedback attivi sull'API proposta per assicurarci di non aver perso nessuna funzionalità necessaria per un controllo efficace delle animazioni. Come per qualsiasi nuova funzionalità, la specifica continuerà a cambiare, quindi è il momento di far sentire la tua voce, idealmente iscrivendoti alla mailing list public-fx@w3.org e contribuendovi (e inserendo [Animazioni web] nella riga dell'oggetto per attirare l'attenzione).

Prova subito il nuovo motore che è già alla base di Animazioni e transizioni CSS e segnala eventuali anomalie nel bug tracker di Chromium per consentirci di intervenire.

Siamo entusiasti di portare le funzionalità di animazione di nuova generazione in Blink e non vediamo l'ora di collaborare con altri sviluppatori di browser come WebKit e Mozilla, che si sono impegnati a implementare il nuovo modello.