Przeglądarka Edge nie przechodzi w całości na Chromium. To trochę potrwa

Przeglądarka Edge nie przechodzi w całości na Chromium. To trochę potrwa16.12.2018 01:38

Wiadomość o przejściu przeglądarki Edge na otwarty silnik rysujący z aplikacji Chromium okazała się hitem i wywołała szereg komentarzy. Przeważają dwie opinie: poparcie dla zaniechania rozwoju niepopularnego silnika oraz obawa o przyszłość sieci WWW w świetle nadchodzącej monokultury Chromium.

Oba poglądy mają szeroki zestaw uzasadnień. Szczególnie interesujący jest ten pierwszy – aprobata dla wstrzymania prac nad Edge nie wynika z filozoficznego sprzeciwu wobec tworzenia bytów zbędnych, a z powszechnego rozczarowania jakością Windows 10. Innymi słowy, wiele osób liczy na to, że jeżeli Microsoft przestanie rozwijać kosztowny komponent systemu, z którego ewidentnie nie ma zbyt wiele korzyści rynkowej, zacznie w ten sposób dysponować wolnymi mocami do spożytkowania na polepszenie jakości „Dziesiątki”. Niestety, przejście na Chromium doprowadzi raczej do odwrotnego efektu. Między innymi dlatego, że Microsoft Edge wcale nie zostanie wyrzucony z Windows 10. Jest to bowiem obecnie niemożliwe.

Aby zrozumieć dziwną relację Edge’a z systemem Windows 10, należy przyjrzeć się temu, jaką rolę pełnią dziś przeglądarki internetowe w systemach operacyjnych. Poza byciem oknem na świat i oddzielną aplikacją, w której wielu użytkowników spędza niemal cały swój czas przed ekranem, przeglądarki internetowe dostarczają też komponent potocznie zwany WebView, możliwy do osadzenia w innych aplikacjach. Programy mogą więc oferować interfejs stworzony za pomocą języków internetowych, jak HTML, CSS i JS, a nie z użyciem specyficznych dla systemu kontrolek, jak Windows Forms. Takie podejście, poza stosem wad, ma wiele zalet: pozwala zatrudnić tych samych programistów do stworzenia wersji pulpitowej i webowej. Ułatwia przeniesienie aplikacji na inne systemy operacyjne. I pozwala mniej się przejmować zgodnością z systemem. Dzisiejsze aplikacje UWP oraz APK (Android) bardzo często polegają na rysowaniu swoich komponentów właśnie w kontrolce WebView. W systemie Windows, silnik rysujący zapewnia Edge, na Androidzie – Blink. Pomysł na wykorzystanie przeglądarki internetowej do rysowania interfejsu, dziś naturalny i powszechny, był źródłem pozwów dwie dekady temu. Pionierem owego podejścia (po niespełnionych przez Netscape obietnicach własnego rozwiązania) był Microsoft, który rozpoczął rysowanie wielu elementów systemu za pomocą silnika Internet Explorer w 1997 roku.

Silnik Trident

Wlanie przeglądarki internetowej tak głęboko w system oznacza, że mimo oddzielnej nazwy, przestaje ona być oddzielnym produktem. Wspomniany przed chwilą Internet Explorer, znajduje się w katalogu „Program Files”, wraz z innymi aplikacjami zainstalowanymi przez użytkownika. Ale tak naprawdę jest to tylko opakowanie dla samego silnika przeglądarki, który jest odpowiedzialny za znacznie więcej rzeczy, niż tylko wyświetlanie stron internetowych. Właściwe serce Internet Explorera, czyli silnik Trident, zaszyty w pliku MSHTML.DLL, znajduje się już w katalogu „System32” i jego usunięcie jest bardzo utrudnione. Odinstalowanie Explorera zakończy się więc usunięciem wrappera i niczego więcej. Jest on bowiem nie tylko aplikacją, ale i platformą. Bez której nie działa część interfejsu Windows oraz niezliczone ilości aplikacji budowanych przez ostatnie dwadzieścia lat.

Również dziś, obiekt Internet Explorer można osadzać w aplikacjach (na ilustracji Word 2019)
Również dziś, obiekt Internet Explorer można osadzać w aplikacjach (na ilustracji Word 2019)

Silnik EdgeHTML

Edge, mimo niezliczonego zbioru ulepszeń, kroczy tą samą drogą. Jest (a raczej był) reklamowany jako nowoczesna aplikacja typu UWP, ale jej przynależność do owej kategorii ma miejsce na dość specjalnych warunkach. Jest bowiem skonteneryzowana jako nowoczesna aplikacja, ale znajduje się w katalogu „SystemApps” (dawniej InfusedApps, znacznie trafniejsza nazwa), a nie „WindowsApps”. Różnica polega na tym, że te pierwsze aplikacje są dostarczane i aktualizowane razem z systemem, a te drugie – przez Sklep. Edge jest więc nieco oszukaną aplikacją UWP, w dalszym ciągu korzysta jednak z zalet infrastruktury, jak konteneryzacja, ochrona binariów, rysowanie za pomocą nowego silnika DWM-1 (proszę zwrócić uwagę, jaki użytkownik jest właścicielem procesu z oknem przeglądarki!) i tak dalej. Również to jednak w pewnym momencie się kończy.

Podobnie jak niegdyś Internet Explorer, część Edge’a jest wydzielona, by dostarczać silnik rysujący dla innych aplikacji, w tym przypadku dla wszystkich pozostałych sklepowych pakietów APPX. Ponawiając zatem znany nam już schemat, silnik EdgeHTML znajduje się w katalogu „System32”, mając za swojego sąsiada stary dobry Trident, zrodzony ponad dwadzieścia lat temu. Obie biblioteki stosują w dodatku tę samą konwencję wersjonowania…

Silnik Chromium

Teraz spróbujmy do tego obrazka w jakiś sposób dorzucić Chromium. Aplikacje wrapujące silniki Chromium muszą być obecnie czystymi aplikacjami Win32, a nie paczkami z „koszernym” WinRT – budulcem prawdziwych aplikacji UWP. Teoretycznie nie jest to problem: od kilku lat możliwe jest spakowanie całej klasycznej aplikacji w kontener APPX i choć traci się w ten sposób szereg zalet dostarczanych przez infrastrukturę Modern, w dalszym ciągu tak spakowana aplikacja jest bezpieczniejsza i łatwiejsza w aktualizacji oraz wdrażaniu.

Powiedzmy zatem, że możemy zastąpić systemową aplikację Edge nową przeglądarką. Ale będzie to podmiana niekompletna: do nowego kontenera wsypanoby zarówno interfejs jak i sam silnik rysujący. Tak dostarczane Chromium nie zostanie nową „platformą”, a jedynie kolejną przeglądarką której nikt nie użyje. Uczynienie z niej platformy wymagałoby podmiany silnika EdgeHTML, a więc komponentu systemu operacyjnego. A to nie takie proste.

Przede wszystkim, z silnikiem EdgeHTML, czyli obiektem WebView Edge’a, zrośnięte jest wiele mechanizmów zabezpieczeń, zaprojektowanych właśnie pod kątem Edge’a i niczego innego. Po drugie, wszystkie sklepowe aplikacje rysujące się za pomocą silnika Edge mogą mieć nagle dziwne problemy z wiernością odwzorowania swojego interfejsu. Teoretycznie wszystko powinno być OK, ale na pewno znalazłoby się coś, co nagle zaczyna wyglądać niepoprawnie. Poza tym, Chromium jest mordercą baterii. Sam Microsoft rozpętał niekoniecznie etyczną wojnę z Google Chrome, wyświetlając przeznaczone specjalnie dla tej aplikacji dymki z powiadomieniem, że jej dalsze użycie doprowadzi do zjedzenia akumulatora znacznie prędzej, niż podczas pracy z Edge. Apetyt Chromium na energię zdecydowanie nie zmienił się od czasu owej pamiętnej kampanii informacyjnej.

Wreszcie, Edge jest platformą również z powodu rzeczywistej przewagi funkcjonalnej na niektórych polach (w co zapewne trudno będzie niektórym uwierzyć). Dzisiejszy Edge jest jedyną przeglądarką która potrafi udźwignąć i obsłużyć niektóre protokoły komunikacji RTC oraz strumieniowania multimediów. Sklepowa aplikacja Netflix wykorzystuje obiekt Edge WebView właśnie dlatego: żadna inna infrastruktura nie potrafi dostarczyć obsługi strumieniowania multimediów w rozdzielczości 4K. Gdyby aplikacja Netfliksa nagle zaczęła być rysowana za pomocą Chromium, straciłaby dość istotną część swoich możliwości.

źródło: The Verge
źródło: The Verge

Chromium nie jest gotowe na zintegrowanie z kodem Windows, bo jest zupełnym ciałem obcym, w dodatku funkcjonalnie odstającym od wymagań funkcjonalnych Windows 10, które po naszej krótkiej inspekcji okazują się być jednak całkiem wysokie. Dlatego zanim zastąpi ono Edge’a w ramach platformy do rysowania interfejsów, miną lata. Przez ten czas nastąpi rozjazd: w systemie będą znajdować się trzy przeglądarki: starzejący się Internet Explorer, wstydliwie ukryty silnik EdgeHTML oraz spakowana jako aplikacja Win32 nowa wersja Edge’a, niewykorzystująca żadnych zalet UWP. Równie dobrze będzie można zainstalować Chrome’a od razu, skoro system w ramach swojej oferty sugeruje to samo, ale w innym opakowaniu.

Czy to pomoże?

Taki scenariusz oznacza w praktyce więcej, a nie mniej pracy. Jest bowiem więcej linii i scenariuszy do utrzymania. W świat idzie również informacja, że Microsoft nie potrafi dostarczyć platformy programistycznej: robi krok wstecz dostarczając zwykłą aplikację Win32 zamiast UWP, w dodatku od firmy będącej na wielu polach konkurentem. Co gorsza, to kolejna poszlaka wskazująca na przekonanie w samym Redmond, że UWP się do niczego nie nadaje, a .NET na pulpicie jest martwy. Nowe wersje Skype’a i Teams oraz edytor Visual Studio Code to aplikacje wykorzystujące framework Electron. Electron.js to środowisko rysujące aplikacje z webowym interfejsem, w ramach widoku WebView dostarczanego przez… Chromium. Tak jest. Pisząc aplikacje .NET w programie Visual Studio Code (niedostępnym zresztą, nota bene, w Sklepie), pod spodem pracuje program CHROME.EXE. Cóż za obraz nędzy i rozpaczy.

Oczywiście, Microsoft uzyskałby wiele korzyści, gdyby udało mu się zaoferować coś, co skłoni ludzi do niepakowania swoich programów w Electron (oraz Chromium Embedded) i dostarczanie ich jako PWA rysowane przez „prawdziwe” Edge. Stworzenie takiej platformy znacząco zmniejszyłoby liczbę uruchomionych Chrome’ów na dzisiejszych komputerach, dźwigających setki megabajtów RAMu dla prostych przecież programów Slack, Discord, Skype, Teams, Spotify i VS Code (to jest edytor tekstu, na litość boską!). Niestety, taka platforma nigdy nie powstanie. A nowy Edge oparty o Chromium też raczej nie odniesie sukcesu. Po co używać imitacji, gdy można pobrać oryginał?

Upada zatem kolejny z filarów „nowoczesnego systemu Windows”. Ubicie wersji Mobile, wpuszczenie zwykłych aplikacji do Sklepu, rezygnacja z rozwoju mobilnego Office’a, zmniejszenie liczby wbudowanych aplikacji kafelkowych i wstrzymanie rozwoju nowej przeglądarki. Co następnego czeka w kolejce do ścięcia? Dajcie nam znać w komentarzach!

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.