Firefox 57 Quantum – o co tyle hałasu?

Użytkownikom internetu chyba nie trzeba przedstawiać przeglądarki Firefox. Projekt który w 2002 roku pod nazwą Phoenix odważył się rzucić rękawicę królującemu Internet Explorerowi 6 zyskał tym samym nieśmiertelną chwałę. Nikt nie chyba nie przewidywał wówczas, że mały i niepozorny projekt zmieni oblicze internetu. Jednak konkurencja nie spała i Mozilla wraz ze swoim produktem miała ostatnio mocno pod górkę. Ale po latach nieurodzaju Firefox 57 Quantum stara się odebrać to co mu należne – koronę wśród przeglądarek internetowych.

Firefox – początki
Przez lata istnienia tego programu nastroje wśród jego użytkowników ewoluowały od skrajnej euforii przez bierne wyczekiwania aż po frustrację. O ile bowiem na początku swojej podróży Firefox dał nadzieję na szybkie i zwinne poruszanie wśród dóbr internetowych, o tyle pojawienie się konkurencji rzuciło sporo cienia na wspomnianą szybkość. Firefox z biegiem czasu nabył przydomek „muła” i to dociążonego zaopatrzeniem dla stacjonującej nieopodal Mountain View jednostki wojskowej. Według przeróżnych statystyk Firefoksa do roku 2012 używało niemal 32% ogółu internautów. Jednak Google Chrome w swoim triumfalnym marszu na szczyt nie poszanował tego wyniku i obecnie to ta przeglądarka jest najczęściej używanym rozwiązaniem do przeglądania internetu (około 59% internautów). Na chwilową przegraną Firefoksa złożyło się kilka czynników, w tym paradoksalnie jego silnik „rysowania” stron internetowych który przyniósł mu wcześniejszą sławę. Czasy powstania Gecko sięgały bowiem końcówki lat 90 ubiegłego wieku. Przez lata wyposażane w nowe rozwiązania i implementacje obowiązujących standardów, Gecko stało się tym czym się stało. Kulą u nogi całego Firefoksa.

Fundacja Mozilla nie złożyła jednak broni. Powołany do życia projekt Servo stał się poligonem doświadczalnym i próbą napisania przeglądarki od nowa. A przynajmniej jej najbardziej żywotnej części jaką jest silnik renderujący WWW. Po latach rozwoju ogłoszono sukces i… No właśnie nie – nie wymieniono w Firefoksie Gecko na Servo. W ramach projektu Quantum rozpoczęto wymienianie poszczególnych elementów i integrowania ich z Gecko.

Na dzień dzisiejszy Firefox 57 Quantum stanowi ukoronowanie starań deweloperów odpowiedzialnych za powyższe projekty. Wśród wielu nowości jakie przynosi za sobą nowa wersja przeglądarki wymienia się przede wszystkim rewolucyjną oszczędność zasobów (pamięć RAM) oraz niemal dwukrotnie zwiększoną prędkość działania w porównaniu do FF 52. I to jeszcze przed integracją wszystkich rozwiązań wymyślonych w projekcie Servo/Quantum Flow.

    Nowości

  • integracja Quantum CSS (Stylo), Quantum Compositor oraz fragmentarycznie Quantum Render oraz DOM (części projektu Quantum Flow dostosowującego Servo na potrzeby Firefoksa),
  • ujednolicenie i uproszczenie interfejsu dzięki Photon UI,
  • integracja funkcji wyszukiwania i paska adresowego,
  • inteligentna obsługa wideo i zatrzymywanie jego dekodowania gdy karta jest nieaktywna (audio jest dekodowane cały czas),
  • rozbudowane opcje uprawnień dla witryn internetowych.

Jeżeli ktoś spodziewał się litanii zmian długiej na dwie podstrony, to powyższe może go nieco rozczarować. Przełomowe wydanie i tylko tyle? Ale diabeł tkwi w szczegółach, a konkretnie wprowadzonych do codziennego użytku elementach projektu Quantum Flow.

Firefox 57 Quantum
Nie należy zapominać, że proces przemian rozpoczął się już od wersji Firefox 52. Po drodze doczekaliśmy się rozbicia Firefoksa na kilka procesów potomnych w ramach Electrolysis, osadzenia w piaskownicy wtyczek, itp. Debiutujący w Firefoksie 57 Quantum CSS idzie krok dalej i wykorzystując powyższe oraz robiąc użytek z wszystkich rdzeni naszego CPU, znacząco przyśpiesza przetwarzanie i renderowanie CSS. To kolejny komponent wcielony do Gecko który zaistniał dzięki wykorzystaniu kompilowanego języka Rust. Przesunięty do samodzielnego procesu Quantum Compositor znacznie ustabilizował pracę ze stosem graficznym i umożliwia awaryjne restarty samego procesu bez naruszania całej przeglądarki. Dla użytkowników Linuksa istotną może być informacja, że oddzielanie wtyczek i skryptów od systemu operacyjnego (sandbox) zyskał w tej wersji pełnoprawną użyteczność (w odniesieniu do wersji dla Windowsa). Procesy Firefoksa odpowiedzialne za renderowanie strony i wykonywanie JavaScript nie są już w stanie dobrać się (w przypadku złośliwego kodu) do naszych danych na dysku.

Na tym nie koniec. Na pełne wdrożenie czekają elementy Quantum Render i Quantum DOM. Dzięki Quantum Render zobaczymy na ekranach naszych monitorów strony WWW generowane z aktywnym wykorzystaniem moc drzemiących w kartach graficznych (planowane na 2018 rok). Quantum DOM natomiast zmienia sposób w jaki przeglądarka gospodaruje zasobami a konkretnie oddaje to zarządzanie w ręce systemowego planisty zamiast dublować jego pracę. Dodatkowo przypilnuje, aby karty odesłane do „tła” nie spowalniały działania przeglądarki.

Warto również wspomnieć o apetycie na pamięć RAM. Ponoć Firefox 57 oszczędniej gospodaruje zasobami naszego komputera, ale nie oczekujmy cudów. Nowoczesność nie znosi terminu „optymalizacja”. Owszem, Firefox jest bardziej rozważny podczas aneksowania kolejnych banków pamięci niż taki Google Chrome. Niemniej program aby działać sprawnie robi poprawny użytek z tego, co ma do dyspozycji. Nie inaczej jest z mocą CPU.

Na koniec – czy Firefox 57 Quantum jest faktycznie szybszy od Google Chrome? Tę kwestię pozostawiam samodzielnym rozważaniom. Program znajduje się już we wszystkich repozytoriach większości dystrybucji (Ubuntu 16.04/17.04/17.10, Mint 18.xx i pochodne, Arch Linux).