Rozwój przeglądarki Chrome nigdy nie był szczególnie efektowny – funkcjonalność przeglądarki jest minimalistyczna, interfejs do granic uproszczony. Prawdziwa „magia” w przypadku Chrome'a dzieje się pod maską. Tam regularnie pojawiają się sprytne pomysły na optymalizację i nietuzinkowe mechanizmy przyśpieszające ładowanie witryn. Google pracuje już nad kolejnym ciekawym rozwiązaniem – bfcache.
bfcache – o co chodzi?
Potrzeba jest matką wynalazku. Google oczywiście skrupulatnie zbiera dane na temat naszych zwyczajów dotyczących korzystania z Chrome i na tej podstawie rozwija program. Na podstawie danych z telemetrii odnotowano, że aż 19% ruchu w przypadku mobilnego pochodzi z… cofania się. Na pecetach jest to 10%. Choć dość trudno w to uwierzyć to właśnie nawigacja do poprzedniej witryny odpowiada niemal za 1/5 renderowanych witryn.
Szybko dopatrzono się tutaj okazji do przyśpieszeń, a w zasadzie podpatrzono starsze pomysły konkurencji. Skoro bowiem chodzi o cofanie się, to znaczy, że witryna była już raz wczytana i można to wykorzystać. W ten sposób powstało bfcache – od back/forward cache. Mechanizm będzie polegał na zapisywaniu w pamięci podręcznej ostatniej witryny i błyskawicznym jej wczytaniu, jeśli użytkownik zechce się cofnąć. Oczywiście nie w całości – wówczas przecież byłoby to po prostu przeglądanie offline.
Zobacz też: 5 przydatnych rozszerzeń do Chrome'a dla każdego front-end developera
Firefox i Safari posiadają podobny mechanizm od dawna
bfcache musi zatem identyfikować elementy, które można zapisać w pamięci podręcznej i wykorzystać przy powrocie, a które należy każdorazowo pobierać na nowo. Taki mechanizm istnieje poniekąd już dziś – Chrome tylko raz pobiera obrazki, JavaScript czy arkusze stylów. Konieczne jest jednak ponowne zbudowanie struktury HTML, kompresja obrazków, wykonanie skryptów i stylowanie.
Co ciekawe, nie można z czystym sumieniem powiedzieć, że bfcache jest oryginalnym pomysłem twórców Chrome’a, gdyż podobne koncepcje realizuje już Safari oraz Firefox. Google stroniło od zapożyczenia bfcache z WebKita, gdyż miało to sprawiać problemy z rozbijaniem kart na procesy. Czas pokazał jednak, że jest to tak udana metoda przyśpieszania pracy przeglądarki, że bfcache trzeba było wynaleźć na nowo.
Zobacz też: Pat w sprawie manifestu rozszerzeń Chromium – Google wytrwale dąży do monopolu
Jeszcze większe zużycie RAM-u?
Wiąże się z tym jednak pewne ryzyko. Z jednej strony wyeliminowanie konieczności każdorazowego odbudowywania witryn powinno na dłuższą metę choć minimalnie wydłużyć czas pracy na baterii. Z drugiej zaś możemy się spodziewać jeszcze większego obciążenia RAM-u. Wszak gdzieś to wszystko musi być przechowywane. A z apetytem na pamięć operacyjną Chrome nie od dzisiaj ma problemy. Na ten rok Google planuje testy bfcache, zaś od 2020 planowane jest wdrożenie w stabilnych wydaniach Chrome’a.