Przeglądarki

W świecie webdevu istnieje jeden element, nad którym jako osoby webdeveloperskie nie mamy żadnej kontroli: przeglądarka. Cały nasz kod odpala się w tym przedziwnym ustrojstwie, a nam zostaje jedynie trzymać kciuki za to, żeby poprawnie zadziałał. Owszem, istnieją standardy sieciowe, które określają, co i w jaki sposób przeglądarki wspierają. Ale teoria często zderza się z praktyką. Nie wspominając już o bugach, które mogą czyhać na każdym kroku. Przeglądarka nie jest przyjaznym miejscem dla naszego kodu. To lochy, w których na każdym kroku potyka się o bossa, będąc uzbrojonym wyłącznie w wykałaczkę…

Ale może zostawmy te niewydarzone metafory na boku. Przyjrzyjmy się przez chwilę temu, jak wygląda sam rynek przeglądarek. A wygląda zdecydowanie ciekawej, niż kilkanaście lat temu. Wtedy liczyły się tak naprawdę tylko dwie przeglądarki: Netscape Navigator i Internet Explorer. To były mroczne czasy dla otwartych standardów, bo rywalizacja tych przeglądarek zakończyła się wieloletnim monopolem Internet Explorera. Dzisiaj na całe szczęście z tamtych czasów zostało jedynie mgliste wspomnienie. Obecny światek przeglądarek jest zdecydowanie bardziej różnorodny. Mamy “wielką trójcę” (Chrome, Firefox, Safari), ale mamy także wiele bardziej niszowych przeglądarek. Niektóre z nich próbują wprowadzić innowacje do sposobu przeglądania Sieci, jak np. Arc. Inne nastawione są na oddanie jak największej kontroli osobie użytkowniczej, jak Vivaldi. Znajdą się też przeglądarki dla osób ceniących sobie ekstremalną wręcz prywatność (Tor Browser). Ba, są nawet przeglądarki dla osób webdeveloperskich, których zadaniem jest ułatwianie tworzenia stron WWW (Polypane). Do tego dochodzi cały świat przeglądarek mobilnych czy przeglądarek wbudowanych w aplikacje mobilne. Praktycznie każda osoba powinna być w stanie znaleźć przeglądarkę, która spełniałaby jej codzienne potrzeby.

Ale warto zajrzeć pod maski tych przeglądarek. Tam się szybko okaże, że tak naprawdę na rynku istnieją tylko trzy silniki: Blink (z Chrome’a), WebKit (z Safari) i Gecko (z Firefoksa). Z czego jeden jest wyraźnie dominujący – zarówno przez fakt, że używajaca go przeglądarka jest obecnie najpopularniejsza, oraz dlatego, że silnika tego używa najwięcej przeglądarek spośród tych, które zostały wymienione wyżej. Mowa tutaj o Blinku, silniku Chrome’a. Silniku, który równocześnie bardzo szybko dodaje nowe ficzery. W tym takie, które budzą obawy związane z bezpieczeństwem i prywatnością, bo pozwalają przeglądarce komunikować się bezpośrednio ze sprzętem. Silniku, który rośnie w tempie na tyle szybkim, żeby zacząć budzić obawy o powrót do sytuacji hegemonii jednego silnika. Sytuacji, w której otwarte standardy sieciowe przestają mieć znaczenie, skoro i tak jest jeden silnik. A z drugiej strony mamy Safari, które przez lata utrzymywało monopol na iOS-ie dzięki polityce niewpuszczania tam innych silników niż WebKit. Dopiero widmo wymuszenia otwarcia się iPhone’ów na inne silniki sprawiło, że rozwój WebKita znacząco przyśpieszył.

Na poziomie silników dopiero widać, że przeglądarki to nie tylko technologia, ale też (a może: przede wszystkim) – polityka. I to polityka prowadzona przez wielkie korporacje, które inwestują czas i pieniądze w rozwój poszczególnych silników. Owszem, czasami pojawiają się pozytywne akcenty, jak np. współpraca w celu minimalizacji różnic między silnikami. Ale często widać także negatywne skutki, jak np. utrudnianie wejścia na rynek mniejszym przeglądarkom czy skupianie się na ficzerach Sieci jako platformy przy pomijaniu ficzerów dla osobów użytkowniczych.

A przecież przeglądarka ostatecznie ma być oprogramowaniem pośredniczącym między osobą webdeveloperską a osobą użytkowniczą. Taka jest nawet jej profesjonalna nazwa po angielsku: user agent – program działający w imieniu osoby użytkowniczej. Przeglądarki powinny oddawać osobie uzytkowniczej jak największą kontrolę nad tym, jak wygląda jej doświadczenie korzystania z Sieci. Patrząc na to, jak wyglądają obecne przeglądarki, zwłaszcza te najpopularniejsze, można mieć co do tego wątpliwości. Wydaje się, że to wciąż produkty mająca zarabiać na osobach użytkowniczych, niż faktycznie programy reprezentujące w najlepszy możliwy sposób interesy swoich osób użytkowniczych. I dopóki nie zmieni się ekonomia Internetu, raczej nie mamy co liczyć na wielkie zmiany.

Przeglądarki istniały od samego początku Sieci i nie zanosi się na to, żeby w najbliższym czasie miały zniknąć. Dlatego jako osoby webdeveloperskie powinniśmy się z nimi zaprzyjaźnić, a nie próbować z nimi walczyć. W końcu to jedyny sposób na dotarcie do osoby użytkowniczej – jakkolwiek niedoskonały by on nie był.

Źródła

Dodatkowe materiały