Wycofywanie i usuwanie funkcji w Chrome

Dowiedz się, jak Chrome usuwa funkcje, które nie działają prawidłowo, minimalizując zakłócenia dla użytkowników i programistów.

Chrome stale otrzymuje nowe funkcje, ale czasami trzeba je usunąć.

Usunięcie funkcji może zmniejszyć złożoność bazy kodu przeglądarki i pomóc w zapewnieniu bezpieczeństwa przeglądarek przez ograniczenie potencjalnych wektorów ataku. Starannie skoordynowane podejście na całej platformie internetowej zapewnia, że dostawcy przeglądarek mogą usuwać funkcje platformy, które nie działają dobrze, przy jednoczesnym zminimalizowaniu zakłóceń dla użytkowników i deweloperów.

Usuwanie funkcji przeglądarki

Gdyby przeglądarki usuwały funkcje bez ostrzeżenia, powodowałoby to nieprawidłowe działanie witryn i utrudniało programistom planowanie migracji do alternatywnych technologii. Zamiast tego dostawcy przeglądarek stosują podejście systematyczne, udostępniając ostrzeżenia, zasoby pomocy i szczegółowe harmonogramy z dużym wyprzedzeniem przed usunięciem funkcji.

Wycofanie i usunięcie

Usuwanie funkcji z Chrome składa się z 2 głównych etapów:

Przeglądarki internetowe oparte na Chromium, takie jak Chrome, używają silnika renderowania Blink do przekształcania kodu i zasobów w strony internetowe, które możesz wyświetlać i z którymi możesz wchodzić w interakcje. Gdy inżynierowie chcą wprowadzić zmiany w Blinku, publikują post na liście mailingowej blink-dev, aby uzyskać zgodę na dalsze działania. Posty na tych listach adresowych nazywane są intencjami Blink.

Gdy inżynierowie zamierzają wycofać, a następnie usunąć funkcję z Blinka, publikują na liście mailingowej blink-dev komunikat o zamiarze wycofania, a następnie komunikat o zamiarze usunięcia. Te 2 intencje są często łączone w intencję wycofania i usunięcia.

Intencja wycofania

Zamiar wycofania funkcji jest publikowany przez inżynierów Blink, gdy chcą zacząć ostrzegać deweloperów, że dana funkcja przeglądarki ma zostać usunięta. W tym momencie funkcja będzie nadal dostępna, ale deweloperzy będą otrzymywać pomoc i informacje z Narzędzi deweloperskich w Chrome, a także w postach na blogu, na stronie chromestatus.com oraz w dokumentacji funkcji na MDN i w innych miejscach.

Przykład:Intencja dotycząca wycofywania: zdarzenia mutacji

Zamiar usunięcia

Zamiar usunięcia jest publikowany, gdy inżynierowie Blink zamierzają wyłączyć funkcję i usunąć jej kod. Zamiar usunięcia jest często łączony z zamiarami wycofania, tworząc zamiar wycofania i usunięcia.

Przykład: Zamiar wycofania i usunięcia: Web SQL

Minimalizowanie zakłóceń dla użytkowników i deweloperów

Chrome w miarę możliwości unika usuwania funkcji.

Zanim inżynierowie Chrome zdecydują się na wycofanie funkcji, zawsze sprawdzają wskaźniki jej użycia i inne dane. Funkcja zostanie usunięta tylko wtedy, gdy na przykład jest używana przez bardzo małą część użytkowników i dostępne są lepsze alternatywy lub gdy zmiany w ekosystemie oznaczają, że funkcja może teraz stwarzać poważne zagrożenia dla bezpieczeństwa. Funkcja nie jest zwykle usuwana z Chrome, jeśli inne przeglądarki planują nadal ją obsługiwać: usunięcie funkcji musi być skoordynowane między silnikami przeglądarek.

Oprócz postów z propozycjami na liście mailingowej blink-dev wycofania są ogłaszane na blogu dla programistów Chrome. Ostrzeżenia i informacje o pomocy są też dostępne w Narzędziach deweloperskich w Chrome i w dokumentacji funkcji. Harmonogramy są też publikowane na stronie chromestatus.com w przypadku wycofywanej funkcji.

Tymczasowe ponowne włączenie wycofanej funkcji

Istnieje kilka sposobów, dzięki którym możesz tymczasowo uzyskać dostęp do funkcji po tym, jak została ona domyślnie usunięta z Chrome.

  • Okres próbny wycofania
    Jest to rodzaj testowania origin, który umożliwia tymczasowe ponowne włączenie funkcji, która została zmieniona lub domyślnie wyłączona przed usunięciem. Na przykład obsługa zdarzeń mutacji została usunięta w Chrome 127. Witryny, które potrzebowały więcej czasu na przejście z tych zdarzeń, mogły zarejestrować się w okresie próbnym wycofania, aby tymczasowo ponownie włączyć zdarzenia w określonych witrynach. Dzięki temu deweloperzy mieli więcej czasu na wdrożenie alternatywnych rozwiązań.

  • Zasady Chrome Enterprise
    Czasami udostępniane są zasady, które pozwalają witrynom tymczasowo ponownie włączyć funkcję, która została wycofana i usunięta. Na przykład zasady MutationEventsEnabled zostały udostępnione dla Chrome w wersjach od 124 do 136.

  • Flaga Chrome
    W przypadku niektórych wycofanych funkcji flaga Chrome zapewnia tymczasowy dostęp do funkcji na potrzeby lokalnego programowania. Na przykład flaga enable-unsafe-swiftshader została udostępniona, aby umożliwić deweloperom ponowne włączenie używania SwiftShader jako rozwiązania zastępczego dla oprogramowania WebGL.

Podejmij działanie

Jako deweloper musisz być przygotowany na zmiany na platformie internetowej.

Możesz sprawdzić informacje o wersji każdej nowej wersji każdej przeglądarki, ale warto też korzystać z kanałów przeglądarki w wersji przed stabilną, aby testować i dostosowywać witryny, tak aby były gotowe na nadchodzące zmiany, w tym usunięcia. Zadbaj o to, aby Twój zespół deweloperski korzystał co najmniej z kanału deweloperskiego Chromestabilnej wersji Chrome, aby uzyskiwać dostęp do witryn, nad którymi pracujesz. Jako deweloper możesz prowadzić wiele kanałów jednocześnie. Dzięki temu możesz testować witrynę w przyszłych wersjach Chrome, a także w wersji stabilnej Chrome, która jest prawdopodobnie używana przez zdecydowaną większość Twoich użytkowników.

Regularnie sprawdzaj konsolę Narzędzi deweloperskich w Chrome pod kątem ostrzeżeń o wycofaniu. Narzędzia deweloperskie zawierają informacje i linki do materiałów, które pomogą Ci przeprowadzić migrację z wycofanych funkcji. Do testów automatycznych i ręcznych należy też używać wielu kanałów Chrome.

Więcej informacji