Nowy mechanizm animacji stron internetowych w mgnieniu oka generuje animacje i przejścia CSS

Alex Danilo

Użytkownicy oczekują płynnych animacji z częstotliwością 60 FPS w interfejsach użytkownika na wielu urządzeniach. Osiągnięcie takiego poziomu wydajności przy użyciu obecnych prymitywnych animacji może być trudne. Pracujemy nad nową implementacją animacji Blink, która została właśnie udostępniona w Chrome Canary.

To rozwiązanie upraszcza działanie wewnętrzne Blinka i zakłada uwzględnienie nowych funkcji interfejsu API z specyfikacji animacji internetowych 1.0.

Do tej pory animacje CSS i przejścia CSS były oddzielnymi implementacjami napisanymi niezależnie, które niekoniecznie dobrze ze sobą współdziałały. W ostatnich latach implementatorzy przeglądarek współpracowali nad modelem animacji nowej generacji, który obsługuje m.in. synchronizację, łańcuchowe uruchamianie animacji, przechodzenie do dowolnych punktów w czasie animacji, zmianę szybkości animacji i wiele innych funkcji.] W efekcie powstała specyfikacja W3C Web Animations 1.0.

Pierwszym krokiem zespołu Blink w drodze do udostępnienia animacji internetowych jest zastąpienie dotychczasowej implementacji animacji i przejść CSS w Blink w języku C++ silnikiem animacji internetowych. Po osiągnięciu tego kamienia milowego chcielibyśmy, aby jak najwięcej deweloperów sprawdziło, czy nic nie zostało zepsute, a co ważniejsze, aby zwracali uwagę na proces wdrażania i informowali nas o tym, co jest dobre/złe lub wymaga zmiany.

Następnym krokiem będzie wdrożenie interfejsu API, który pozwoli tworzyć, modyfikować i przeszukiwać animacje z JavaScriptu. Interfejs API został zaprojektowany tak, aby animacje działały wydajnie (za pomocą deklaratywnej semantyki, dzięki której JavaScript zarządza tworzeniem animacji, ale przekazuje kontrolę przeglądarce), a jednocześnie zapewnia programiście JavaScriptu pełną kontrolę nad animacją.

Chcemy poznać Twoją opinię na temat proponowanego interfejsu API, aby mieć pewność, że nie pominęliśmy żadnych funkcji potrzebnych do tworzenia zaawansowanych animacji. Podobnie jak w przypadku każdej nowej funkcji, specyfikacja będzie się zmieniać, więc teraz jest czas, aby wyrazić swoje zdanie – najlepiej poprzez subskrypcję i wkład na liście mailingowej public-fx@w3.org (w polu „Temat” wpisz [Web Animations], aby wiadomość została zauważona).

Wypróbuj nowy silnik, który jest już używany do obsługi animacji i przejść CSS, a w razie problemów skontaktuj się z śledzeniem błędów Chromium.

Cieszymy się, że możemy udostępnić w Blinku funkcje animacji nowej generacji, i liczymy na współpracę z innymi twórcami przeglądarek, takimi jak WebKit czy Mozilla, którzy również zamierzają wdrożyć nowy model.