Przedstawiamy Chrome Dev Insider

Ben Galbraith
Ben Galbraith

Deweloperzy często zgłaszają nam, że trudno jest nadążać za zmianami w internecie i dowiedzieć się, dlaczego te zmiany się pojawiają. Dziś rozpoczynamy nową serię filmów o nazwie Chrome Dev Insider, w których opowiemy (1) w tym, co jest ciekawe i warte uwagi, (2) w jaki sposób podjęliśmy decyzję w kluczowym temacie (np. zmiana FLOC) lub podpowiemy, jak wygląda nasza praca z ekosystemem (np. Interop 2022) oraz (3) wszystko, co warto wiedzieć o istotnych rzeczach (na przykład dotyczących użytkowników).

Dzieląc się informacjami o tym, nad czym pracujemy, będziemy omawiać je w kontekście 4 naszych priorytetów na 2022 rok:

  • Zapewnianie użytkownikom doskonałych wrażeń: zadbaj o to, aby korzystanie z aplikacji było intuicyjne, niezależnie od tego, czy chodzi o wydajność, transakcje, tożsamość czy przejścia.
  • Zwiększanie możliwości internetu: wspieranie ewoluującej roli sieci od platformy konsumpcji treści po platformę udostępniającą szeroką gamę rozwiązań, w tym takie, które wymagają zaawansowanej integracji z systemem operacyjnym i sprzętem.
  • Prostsze tworzenie stron internetowych: możesz łatwiej podejmować decyzje i zwiększać produktywność programistów.
  • Poprawa prywatności w sieci: spełnia oczekiwania użytkowników witryn w zakresie ochrony prywatności danych w obliczu coraz większego zaawansowania programistów w śledzeniu i kierowaniu reklam.

Wiadomości na temat interoperacyjności z 2022 r.

Podczas opracowywania planów rozwoju bierzemy pod uwagę opinie deweloperów, aby poznać między innymi najważniejsze problemy i potrzeby deweloperów stron internetowych. Głównym motywem, który często się pojawia, jest zgodność z przeglądarkami, dzięki której różne przeglądarki mogą działać tak samo. W ciągu ostatniego roku współpracowaliśmy z tym ekosystemem, aby zająć się tym zagadnieniem w ramach naszego priorytetu, jakim jest „uproszczenie tworzenia stron internetowych”.

W zeszłym roku firmy Microsoft, Chrome i firmy działające w ekosystemie ogłosiły wprowadzenie Compat 2021. W wyniku tego we wszystkich popularnych silnikach przeglądarek (Chromium, Gecko i Webkit) wynik osiągnął ponad 90% w 5 głównych obszarach działalności wskazanych w tym roku. Dzięki Compat 2021 udało się stworzyć między innymi solidne podstawy dla zaawansowanych funkcji, takich jak CSS Grid (wykorzystanie 12% i stale rosnące) oraz CSS Flexbox (77% wykorzystania).

W zeszłym miesiącu Apple, Bocoup, Google, Igalia, Microsoft i Mozilla zebrali się jako zwolennicy, by rozwiązać problemy ze zgodnością przeglądarek najczęściej wykrywane przez programistów stron internetowych, a następnie ustalić typową analizę porównawczą. Tak powstał projekt Interop 2022, którego celem jest zwiększenie jednorodności platformy. Badanie obejmuje 15 obszarów priorytetowych zidentyfikowanych przez deweloperów jako kluczowe dla poprawy produktywności.

Informacja od wtajemniczonych: współpraca z innymi osobami z branży przeglądarek

Dlatego przede wszystkim spotkałam się z Robertem Nymanem i Philipem Jägenstedtem, którzy uczestniczyli w tych rozmowach, aby poznać szczegóły. Zobacz, jak to wszystko powstało w perspektywie redaktora.

Na czym polega ta inicjatywa?

Robert: Wszystko zaczęło się w 2019 roku, kiedy przeprowadziliśmy ankietę MDN DNA 2019. Dla programistów tworzących witryny internetowe problemy ze zgodnością wyraźnie się wyróżniały. Więcej szczegółów na ten temat można znaleźć w Raporcie zgodności z przeglądarkami MDN z 2020 roku. Dzięki temu otrzymaliśmy wystarczającą ilość informacji i praktycznych danych, aby rozpocząć przedsięwzięcie z 2021 r., co z kolei skłoniło nas do kontynuowania tych prac i poszerzenia zakresu tego zakresu w ramach narzędzia Interop 2022.

Philip: chcę też wspomnieć o testach web-platform-tests oraz State of CSS 2021. Jeszcze kilka lat temu współpracujemy z innymi dostawcami przeglądarek w zakresie testowania rozwiązań za pomocą WPT. Chcieliśmy to wykorzystać. W większości przypadków testy te zostały napisane, dlatego musieliśmy tylko je przeanalizować i dodać brakujące elementy. Firma Google wiele zainwestowała w wpt.fyi, ale my również możemy podziękować firmie Mozilla za udział w tym sukcesie. Mozilla miała oczywiście duży udział w ankietach na temat DNA MDN. Przygotowaliśmy także stan CSS 2021. Aby przygotować się na takie działania jak Interop 2022, potrzebujemy świeżych informacji na temat potrzeb deweloperów stron internetowych, dlatego we współpracy z organizatorem ankiety Sacha omówiliśmy kilka nowych pytań o problemy ze zgodnością przeglądarek. Bardzo nam to pomogło podczas planowania interoperacyjności na rok 2022.

Jakieś wnioski lub opinie z Compat 2021?

Robert: obserwacja i uzyskiwanie wyników i statystyk dotyczących skuteczności poszczególnych wyszukiwarek w przeglądarce pozwoliły nam na bieżąco śledzić postępy w rozwoju i przedstawiać problemy, które były niejasne i traktowane priorytetowo. Szybko przekonaliśmy się, że „Interop” to lepsza nazwa dla tej inicjatywy. Terminy zgodność i interoperacyjność zwykle są rozróżniane przez dostawców przeglądarek (compat oznacza kompatybilność z witryną), a interoperacyjność odnosi się do co najmniej 2 przeglądarek działających tak samo. W tej terminologii chodzi o interoperacyjność, więc projekt musi być zgodny z tym nazewnictwem.

Jaka jest nasza wizja?

Robert: aby internet był otwarty, różnorodność w przeglądarkach i silnikach renderowania jest niezwykle ważna. Niestety jest to obecnie wysokie cena dla naszych programistów, którzy mają do dyspozycji różne poziomy obsługi funkcji w poszczególnych wyszukiwarkach. Wierzymy, że deweloperzy postrzegają platformę internetową jako najkorzystniejszą opcję i najbardziej atrakcyjny wybór dla swoich potrzeb, a także by mogli skupić się na zapewnianiu użytkownikom jak najlepszych wrażeń, a nie tracić czas na rozwiązywanie problemów ze współpracą. Osiągnięcie tego celu wymaga, aby najczęściej żądane funkcje były dostępne we wszystkich głównych silnikach przeglądarek, aby deweloperzy mogli odnieść sukces na platformie internetowej.

Jak wspólnie pracować naprzód, gdy przeglądarki o (czasami) mają ze sobą odmienne cele?

Philip: naszym celem było znalezienie obszarów wspólnych zainteresowań w celu znalezienia partnerów, w przypadku których cele są już zbliżone. Przez priorytetowe traktowanie kilku rzeczy jednocześnie, skupiamy się na tych obszarach i szybciej rozwijamy się, uzyskując wyższą jakość, niż gdyby po prostu pracowaliśmy osobno. I o to chodzi.

Moim zdaniem ważne jest, aby zdać sobie sprawę, że to podejście oparte na konsensusie ma pewne ograniczenia, ponieważ cele nie są wystarczająco zgrane, a my musimy pójść w inny sposób. Czasem bardziej pomocne może być przedstawienie dowodów na to, że twórca stron internetowych lub ich potrzeby mają jakieś potrzeby, ale ostatecznie dostawcy przeglądarek mogą oferować rzeczy, które nie są szersze. W najlepszym przypadku wartość danej funkcji zostanie pokazana przez programistów internetowych, którzy testują tę funkcję, uznają, że odpowiada ona ich potrzebom i zapytają o tę samą funkcję we wszystkich przeglądarkach.

Czy w ramach interakcji z 2022 r. planujemy wprowadzić funkcje niezwiązane z projektowaniem lub układem?

Philip: Jak najbardziej. W 2022 roku interakcja nie ograniczała się do funkcji związanych ze stylem i układem, ale w znacznym stopniu polegała też na CSS. Częściowo dlatego, że stan CSS 2021 był aktualny, ale też dlatego, że deweloperzy treści informowali nas, że właśnie w tym miejscu mają największe problemy z różnicami między przeglądarkami. Wiele obszarów, takich jak formularze i okna, wykracza poza CSS. Prowadzimy też badania nad edycją interfejsów API oraz zdarzeń wskaźnika i myszy. Mam nadzieję, że podczas korzystania z interoperacyjności w 2023 r. będziemy mieć więcej aktualnych danych o potrzebach deweloperów w internecie i uwzględnimy więcej takich funkcji.

Najważniejsze zmiany

Celem tej serii jest poinformowanie deweloperów o nadchodzących kluczowych zmianach, które są ważne dla poprawy wygody użytkowników i zwiększania możliwości platformy.

Spodziewamy się wprowadzenia tych zmian w terminach podanych poniżej. Możliwe jednak, że wersje do publikacji funkcji mogą się zmienić.

Zmniejszenie liczby klientów użytkownika

Nagłówek User-Agent i powiązane z nim interfejsy JS przekazują nie tylko przydatne informacje o przeglądarce i urządzeniu, ale też niosą ze sobą starszą historię i nieprawidłowe informacje. Najbardziej problematyczne niż niemal nieskończone błędy związane z analizą ciągów tekstowych w UA polega na tym, że są one pasywnie wysyłane do serwerów w przypadku wszystkich żądań związanych z nawigacją i zasobami podrzędnymi. Jest to około 10 bitów entropii, które serwery mogą wykorzystać do utworzenia stabilnego identyfikatora śledzenia, gdy użytkownicy będą przeglądać internet.

Zgodnie z planem obecny ciąg znaków UA ma zostać zmniejszony przez dalsze oferowanie wersji głównej przeglądarki o niskiej entropii, nazwy platformy i mobilności, co spowoduje zablokowanie informacji o wysokiej entropii. W przypadkach, które wymagają dodatkowych informacji niż te zawarte w nagłówku, udostępniamy interfejs API User-Agent Client Hints od Chrome 89.

Przez 6 miesięcy prowadziliśmy okres próbny Origin, aby przeprowadzać eksperymenty i otrzymywać opinie. Cieszymy się, że nie otrzymaliśmy żadnych opinii na temat awarii pomimo ponad 200 uczestników.

Interfejs Local Fonts Access API

Chrome wprowadza interfejs Local Font Access API. Chociaż witryny od dawna mogą używać czcionek lokalnych, ten interfejs API wylicza listę czcionek lokalnych i umożliwia dostęp do samych danych czcionek. Ta funkcja umożliwia użytkownikom korzystanie ze wszystkich czcionek w przeglądarce internetowej i w innych aplikacjach.

Czcionki lokalne od dawna są nazywane wektorami do odcisków cyfrowych. Chociaż ten nowy interfejs API nie zwiększa możliwości korzystania z czcionek do odcisków cyfrowych, Chrome wymaga, aby użytkownik przyznał stronie nowe uprawnienie "local-fonts", zanim będzie ona mogła korzystać z nowego interfejsu Local Font Access API.

W przyszłości planujemy wprowadzić wymóg przyznania tego samego uprawnienia „local-fonts” przed użyciem jakiegokolwiek innego interfejsu API, który zapewnia dostęp do czcionek lokalnych.

Zezwól na działanie BFCache z Cache-control: no-store

Zauważyliśmy, że możemy poprawić częstotliwość, z jaką pamięć podręczna stanu strony internetowej zapewnia błyskawiczną nawigację do przodu i do tyłu. Wymaga to zmiany sposobu działania BFCache na stronach udostępnianych z nagłówkiem HTTP Cache-control: no-store. Przygotowaliśmy publiczną ofertę, której celem jest zapobieganie znacznym niespodzianiom przez monitorowanie różnych sygnałów (np. usuwanie stron z BFCache w przypadku zmiany pliku cookie tylko dla HTTP) oraz wyjątki (np. zasady grupy dla klientów biznesowych lub edukacyjnych) w unikalnych kontekstach. To złożona, ale ekscytująca możliwość. Prosimy o dodatkowe sprawdzenie i opinię.

  • Oś czasu: kierowanie na Chrome 104 (lipiec 2022 r.), zakładając bez większych niespodzianek.
  • Wezwanie do działania: zapoznaj się z propozycją, aby uzyskać więcej informacji na ten temat, w tym jak włączyć wdrożenie w toku oraz podzielić się opiniami, na przykład w przypadku rzeczywistych sytuacji, w których nasze podejście może stwarzać nowe przeszkody.

Mam nadzieję, że dzięki tej serii uda mi się przybliżyć naszej społeczności programistów poczucie koncentracji i więzi oraz zbliżyć ich do mojego zespołu i jego pracy. Zaglądaj tu co jakiś czas, aby być na bieżąco.

Tymczasem życzymy udanego korzystania z sieci.

Co sądzisz o pierwszym wydaniu newslettera Chrome Dev Insider? Podziel się opinią