18

Kamień milowy w rozwoju Chrome. Google porzuca kompatybilność WebKit na rzecz własnego projektu Blink

Na dzień wczorajszy przypada kamień milowy w rozwoju przeglądarki Chrome, która od samego początku, czyli od roku 2008 była rozwijana na silniku WebKit. Chrome nie jest jedyną przeglądarką, która z niego korzysta. Wszystkie przeglądarki na iOS muszą korzystać z WebKit, z Safari na czele, takie zasady wprowadziło Apple. Oprócz tego na WebKicie działają między innymi: […]

Na dzień wczorajszy przypada kamień milowy w rozwoju przeglądarki Chrome, która od samego początku, czyli od roku 2008 była rozwijana na silniku WebKit. Chrome nie jest jedyną przeglądarką, która z niego korzysta. Wszystkie przeglądarki na iOS muszą korzystać z WebKit, z Safari na czele, takie zasady wprowadziło Apple. Oprócz tego na WebKicie działają między innymi: przeglądarka Symbiana S60, przeglądarka Blackberry, WebOS czy systemowa przeglądarka Androida usunięta w najnowszej jego wersji na rzecz Chrome. Google zadecydował, że najwyższy czas zerwać z kompatybilnością z WebKit i będzie rozwijał własny projekt – Blink.

Blink jest tzw. forkiem WebKit, czyli rozgałęzieniem projektu, w którym WebKit idzie w swoją stronę, a Blink w swoją, nie oglądając się na WebKita. Skąd taka decyzja Google? Powodów jest kilka. Jednym z ważniejszych było coraz bardziej kłopotliwe zachowanie kompatybilności. Pewnych funkcji WebKit Google nie chce używać od dłuższego czasu i stosuje własne zamienniki. Dwa najważniejsze, to dzielenie zadań przeglądarki na wiele procesów oraz sandboxing, izolujący poszczególne procesy w osobnych piaskownicach. Brak konieczności wspierania rozwoju tych i wielu innych funkcji obecnych w WebKit oznacza dla Google możliwość skasowania siedmiu tysięcy plików i 4,5 miliona linii kodu. Takie cięcia oznaczają przede wszystkim znacznie szybszy rozwój przeglądarki. Google będzie miał większą swobodę we wprowadzaniu zmian i własnych pomysłów.

Co to oznacza dla użytkowników i deweloperów w praktyce? Na dzień dzisiejszy jeszcze nic. W momencie odłączenia Blink wygląda niemal identycznie jak WebKit. Zmiany będą dopiero wprowadzone i muszą przejść od wersji Canary, przez Dev i Betę aż do wersji stabilnej w sześciotygodniowych cyklach. To oznacza, że pierwsze zmiany użytkownicy zobaczą dopiero za pół roku, a to będzie dopiero początek. Im dalej w las, tym powinno być ich więcej. Dlatego zanim poczujemy efekty na własnej skórze minie jeszcze sporo czasu. Osobiście mam pewną nadzieję, że uwolnienie się od WebKita przywróci Chrome przynajmniej część dynamiki rozwoju i szybkości jego działania z początków istnienia przeglądarki.

Co oznacza to w szerszej, długoterminowej perspektywie? Przede wszystkim większe urozmaicenie na rynku przeglądarek. Duża ich część korzysta z WebKita.Intel partnerem technologicznym Antyweb Chrome właśnie się od tej grupy odłączył. Czy to oznacza, że Google może teraz forsować własne zamknięte rozwiązania? Raczej nie. Ponieważ Blink jest forkiem WebKit, który jest projektem Open Source na licencji LGPL, dodatkowo sam projekt Chromium jest również open source, to oznacza, że Blink również będzie otwartym projektem. Siłą rzeczy wszelkie rozwiązania wprowadzone w Blink mogą bez problemu wprowadzić inne przeglądarki, jeśli zechcą. Dodatkowo Google zapewnił, że zależy mu na zgodności ze standardami i nie zamierza wprowadzać żadnych prefiksów CSS typu -blink czy -chrome. Oczywiście czas zweryfikuje wszystkie te deklaracje, ale biorąc pod uwagę dotychczasową bliską współpracę Google z W3C, można mieć nadzieję, że tak właśnie będzie. Tak naprawdę większa liczba przeglądarek, a w zasadzie silników renderujących strony sprzyja wspieraniu standardów.

Z przejścia Chrome na Blink wynikają jeszcze dwa ciekawe fakty. Pierwszy z nich dotyczy Opery, która niedawno zapowiedziała przesiadkę na silnik WebKit. Okazuje się, że Opera będzie podążać za tym co zaproponuje Google, to znaczy, że również będzie korzystać z Blink, a nie z WebKit, co tym bardziej sprzyja dywersyfikacji rynku przeglądarek i zapewnia, że Google Chrome w razie czego nie będzie jedyną przeglądarką działająca poprawnie z usługami Google.

Drugi dotyczy Chrome dla systemu iOS. Jak wspomniałem we wstępie, Apple dopuszcza do App Store tylko przeglądarki korzystające z silnika WebKit. Dla Chrome do tej pory to nie było żadnym problemem, jednak po przesiadce na Blink powstaje pytanie co z Chrome na iOS? Mimo, że Blink jest do WebKit bardzo podobny, zwłaszcza w początkowej fazie rozwoju, Apple na pewno nie dopuści tego silnika do swojej platformy. Taka kontrola zapewnia bezpieczeństwo użytkowników, ale również przewagę przeglądarki Safari, która korzysta z niektórych technologii niedostępnych dla innych przeglądarek. W praktyce oznacza to, że Chrome dla iOS albo dalej będzie korzystał z WebKit, albo przestanie być rozwijany.

Na koniec warto wspomnieć, że Chrome dla Androida został właśnie zaktualizowany i dostał długo wyczekiwaną przeze mnie funkcję, która od dawna była dostępna w Chrome dla iOS – synchronizację zapisanych haseł. Od dzisiaj już nie trzeba ręcznie logować się do wszystkich serwisów na Androidzie. Działa również auto-uzupełnianie pól takich jak adres zamieszkania i innych danych, które zostały zapisane w przeglądarce. Wreszcie Chrome dla Androida stanie się naprawdę wygodny. Pozostało jeszcze zaczekać na wprowadzenie wersji pełnoekranowej.

Podczas pisania artykułu posiłkowałem się informacjami z serwisu Ars Technica. Zainteresowanie szczegółami dotyczącymi Blink powinni udać się na stronę FAQ uruchomioną przez Google specjalnie pod kątem deweloperów.