Gdy inżynierowie chcą wprowadzić zmianę w silniku renderowania Blink, publikują informacje na liście mailingowej blink-dev, aby uzyskać zgodę na kontynuowanie. Te posty na liście adresowej nazywamy intencjami Blink.
Przeglądarki internetowe oparte na Chromium korzystają z silnika renderowania Blink, aby przekształcać kod i zasoby w strony internetowe, które można wyświetlać i z którymi można wchodzić w interakcję.

Dowiedz się, jak działają intencje Blink, dlaczego są ważne i jak nowe funkcje trafiają do Blink.
Chromium i Blink
Chromium to projekt przeglądarki open source, na której podstawie tworzone są Chrome oraz inne przeglądarki i ramy. Blink to mechanizm renderowania używany przez Chromium.
Aby nowa funkcja mogła trafić do Blinka, musi przejść przez proces otwartego rozwoju projektu Chromium. „Nowa funkcja” to każda zmiana lub każde rozszerzenie kodu lub architektury przeglądarki. Może to być nowy interfejs JavaScript API, znaczna poprawa wydajności kodu Blink lub inna zmiana wyglądu lub działania przeglądarki.
Otwarty proces współpracy
Chromium to ogromny, złożony projekt, do którego przyczynia się tysiące osób. Gdy w Chromium pojawiają się zmiany, każdy etap jest okazją do zaproszenia szerszego ekosystemu internetowego do komentowania projektu i wdrożenia.
W miarę możliwości nowe funkcje muszą być interoperacyjne na całej platformie internetowej, a nie wdrażane tylko w jednej przeglądarce. Programiści stron internetowych nie lubią niespodzianek: gdy przeglądarki nie działają zgodnie z oczekiwaniami lub gdy muszą pisać inny kod dla różnych przeglądarek i platform. Blink Intents pomagają uporządkować i unormować proces wprowadzania zmian, aby były one bardziej przewidywalne i mniej zaskakujące, co jest korzystne dla programistów stron internetowych.
W przypadku użytkowników dostawcy przeglądarek muszą uważać, aby zmiany nie powodowały zatrzymywania działania witryn. Właściciele witryn często przestają je utrzymywać. Niektóre witryny nie były aktualizowane od dziesiątek lat. Dostawcy przeglądarek muszą wziąć to pod uwagę, wprowadzając zmiany, które mogą spowodować przerwanie działania.
Od pomysłu do propozycji
Propozycje zmian i aktualizacji platformy internetowej powstają w ramach badań, w których trakcie konsultujemy się z użytkownikami, firmami, inżynierami przeglądarek, programistami stron internetowych i innymi zainteresowanymi stronami. Dzięki tym badaniom zespół Chrome może ustalić, czego brakuje na platformie lub co należy zmienić. Początkowo propozycja zmiany lub nowej funkcji na platformie internetowej to tylko słowa na stronie. Inżynierowie udostępniają dokumenty, aby uzyskać opinie i porozmawiać ze współpracownikami.
Przykład: FedCM
Federated Credential Management (FedCM) to interfejs API, który udostępnia nowe i lepsze mechanizmy dla platform zarządzających rejestracją i logowaniem użytkowników, znane jako tożsamość sfederowana. Przykładem jest wybór opcji „Zaloguj się przez Google” lub „Zaloguj się przez GitHub”.
Gdy propozycja, taka jak FedCM, będzie gotowa do publicznej dyskusji, zostanie opublikowana na GitHubie jako materiał wyjaśniający. W tej chwili każdy może zadać pytanie lub skomentować projekt funkcji, tworząc problem w repozytorium wyjaśnień na GitHubie. Opinia może opisywać dodatkowe przypadki użycia lub ograniczenia, zawierać pomysły na ulepszenia lub po prostu wyrazić poparcie.

Gdy propozycja zostanie przyjęta przez organ standaryzacyjny, np. W3C, zainteresowane strony mogą dołączyć do dyskusji i oglądać prezentacje w grupach zajmujących się standardami internetowymi, takich jak grupy robocze W3C.
Blink Intents: etapy i postępy
W przypadku każdego etapu, gdy inżynierowie pracują nad nową funkcją lub zmianą w silniku renderowania Blink, publikują post w grupie dyskusyjnej blink-dev, w którym wyjaśniają, że zamierzają przejść do następnej fazy wdrażania funkcji. Takie posty nazywamy „zamiarem”. Każdy może zasubskrybować grupę blink-dev, aby otrzymywać powiadomienia o postępach w rozwijaniu nowych funkcji Blink, lub zasubskrybować poszczególne funkcje, aby otrzymywać powiadomienia o ich aktualizacjach.
Przejście od pomysłu do prototypu: pierwszy punkt kontrolny
W tym momencie inżynierowie Chromium mogą zacząć wdrażać funkcję. Oznacza to, że funkcja prototypu może być udostępniona deweloperom do testowania za pomocą flagi funkcji, najpierw w Chrome Canary, a potem w innych kanałach. Każdy użytkownik może ustawić flagę na stronie chrome://flags, aby aktywować i przetestować funkcję w swojej przeglądarce.
Nie wszystkie flagi można jednak ustawić na stronie chrome://flags. Aby uzyskać bardziej szczegółową kontrolę, możesz uruchomić Chrome z poziomu terminala, używając flag wiersza poleceń. Pamiętaj, że niektóre nowe funkcje są dostępne dopiero wtedy, gdy zostaną udostępnione do testowania w Chrome Canary, choć zdarza się to dość rzadko. Niektóre funkcje nie mają własnych flag, ale są dostępne, jeśli włączona jest flaga experimental-web-platform-features. Dotyczy to zazwyczaj „mniejszych” funkcji, których wdrożenie zajmuje maksymalnie 3–6 miesięcy.
Zbieranie opinii o prototypach
Gdy rozpocznie się tworzenie prototypu nowej funkcji, inżynierowie Chromium zapraszają do dyskusji i wstępnych eksperymentów. Na tym etapie opinie są kluczowe dla weryfikacji i ulepszania propozycji. Błędy w Chromium to miejsce, w którym możesz komentować implementację w Chrome.

Zamiar przeprowadzenia eksperymentu: testowanie w rzeczywistych warunkach
Jeśli inżynierowie Chrome chcą poprosić o przeprowadzenie testowania origin, mogą to zrobić, publikując na blink-dev wiadomość o zamierzeniu przeprowadzenia eksperymentu.

Wersje próbne origin to sposób na przetestowanie nowej lub eksperymentalnej funkcji platformy internetowej. Rejestrujesz się w celu uzyskania wersji próbnej funkcji origin, a potem otrzymujesz token na okres próbny. Funkcja zostanie aktywowana na każdej stronie, która udostępnia token.

Zatwierdzenie przez właścicieli interfejsu Blink API
Aby kontynuować wdrażanie funkcji, właściciele interfejsu Blink API muszą wyrazić zgodę, odpowiadając na intencję wiadomością „looks good to me” (LGTM).
Właściciele interfejsu Blink API to niewielka grupa autorów Chromium, którzy mają duże doświadczenie w zakresie platformy internetowej i jej interfejsów API. Zostali oni uznani przez społeczność Blink za godnych zaufania i zaangażowanych w realizację misji oraz wartości Blink. Właściciele interfejsu API nadzorują proces Blink Intent, a także zatwierdzają (lub nie) wdrożenie poszczególnych funkcji.
Intencja przeprowadzenia eksperymentu musi uzyskać co najmniej 1 opinię LGTM od właścicieli interfejsu API.

Wartość testowania wersji próbnych origin
Deweloperzy mogą zarejestrować się w celu przetestowania funkcji w wersji oryginalnej, a następnie przetestować ją w produkcji w rzeczywistych środowiskach z udziałem prawdziwych użytkowników – bez konieczności podejmowania przez nich żadnych działań w celu jej aktywacji. Deweloperzy mogą udostępniać wyniki swoich testów, co dostarcza cennych informacji i danych, które pomogą w ulepszaniu funkcji.
Zamierzam wysłać: ostatni etap
Intencja wydania sygnalizuje, że funkcja jest już gotowa i może zostać wdrożona w wersji stabilnej Chrome dla wszystkich użytkowników bez konieczności korzystania z flagi lub tokenu próbnego. Zanim można wdrożyć funkcję, właściciele interfejsu API muszą trzy razy zaakceptować ją za pomocą funkcji LGTM.
Wdrażanie nowych funkcji
Po zatwierdzeniu funkcja jest scalana z nadchodzącą wersją, a potem przechodzi przez kanały wersji Chrome. Testowanie i wdrażanie nowych funkcji wymaga często szczególnej ostrożności. Niektóre funkcje są udostępniane stopniowo coraz większej liczbie użytkowników. W razie nieoczekiwanych skutków ubocznych możemy wycofać i poprawić funkcje.
Zarządzanie cyklem życia funkcji: wycofanie i usunięcie
Istnieją 2 inne rodzaje intencji Blink:
- Intencja wycofania
- Intencja usunięcia
Może to brzmieć przygnębiająco, ale te informacje są kluczowe dla powodzenia projektu Blink.
Inżynierowie publikują intencję wycofania, gdy chcą ostrzec programistów, że funkcja zostanie wycofana. Na przykład poprzez udzielanie pomocy i przekazywanie informacji o wycofaniu funkcji w konsoli Narzędzi deweloperskich w Chrome.
Intencja usunięcia jest publikowana, gdy inżynierowie chcą, aby kod został domyślnie dezaktywowany.

Dlaczego wycofanie i usunięcie jest ważne
Zarówno wycofanie, jak i usunięcie są kluczowe dla prawidłowego działania platformy internetowej. Dzięki nim Chrome może usuwać funkcje, które nie działają dobrze dla użytkowników końcowych ani deweloperów, oraz zmniejszać złożoność kodu źródłowego. Na przykład problemy z projektowaniem AppCache zostały wykryte, gdy funkcja była używana w produkcyjnych witrynach w stabilnych przeglądarkach, a API zostało ostatecznie usunięte. Wycofania i usunięcia również pomagają chronić Chrome, ponieważ zmniejszają liczbę potencjalnych wektorów ataków.
Podobnie jak w przypadku wszystkich intencji Blink zespół Chrome dokłada wszelkich starań, aby podejmować przemyślane decyzje. Przed dalszymi działaniami sprawdzają częstotliwość korzystania z funkcji i inne dane. Próg usuwania funkcji jest bardzo wysoki. Funkcja zostanie usunięta tylko wtedy, gdy jest używana przez bardzo małą liczbę użytkowników i są dostępne lepsze alternatywy.
Bądź na bieżąco z Blink Intents
Możesz śledzić postępy w wdrażaniu funkcji na stronie Stan Chrome, gdzie możesz też subskrybować aktualizacje, zgłaszać błędy i znajdować inne zasoby.

Aby śledzić nowe funkcje, możesz czytać blog Chromium. Aby być na bieżąco ze wszystkimi nowościami dotyczącymi BlikIntents, dołącz do grupy dyskusyjnej blink-dev. Może to spowodować ogromną liczbę e-maili. Możesz też zasubskrybować tylko 1 intencję. Arkusz kalkulacyjny z intencjami Blink znajdziesz na stronie bit.ly/blinkintents. Jeśli naprawdę lubisz Blink Intents, możesz nawet skorzystać z automatycznych usług Blink Intent Tracker.
Dalsze kroki
Zapoznaj się z artykułem Co to są kanały wersji Chrome?.