Uspjeh projekta LadyBird nije samo u dodavanju novog preglednika, već i u uvođenju mogućnosti promjene web standarda
Kad se spomene web preglednike, prvo se obično pomisli na Chrome, Firefox, Safari i Edge, ne i na mehanizme (engine) na kojima se temelje.
Ti mehanizmi u konačnici diktiraju kako vaš preglednik izgleda i što može izvesti. Preglednika je stoga više, a mehanizama tek nekoliko: Googleov Blink, Appleov WebKit i Mozillin Gecko, kao i posebni slučajevi poput Goanne (koju koristi Pale Moon).
Odnedavno im se priključio i LadyBird, novi mehanizam izgrađen od nule, trenutno u intenzivnom razvoju s ciljem objave alfa izdanja 2026. godine, beta verzije 2027. i stabilne javne verzije 2028. Cilj je napraviti neovisan web preglednik koji će raditi na novom engineu.
Evo što trebate znati o projektu LadyBird.
Što je LadyBird?
Početkom 2000-ih bilo je dostupno nekoliko enginea za preglednike, uključujući Trident (Internet Explorer), Presto (Opera), Gecko i WebKit, među ostalima. Mnogi među njima u međuvremenu su zamrli ili bili uklopljeni u druge projekte.
Opera je ukinula Presto za Blink 2013. godine, a Microsoft je 2019. godine napustio Trident/EdgeHTML u korist Chromiuma. Danas imamo samo tri velika enginea, među kojima Blink drži najveći tržišni udio, pokrećući popularne preglednike poput Chromea (69 posto tržišnog udjela na desktop računalima), Bravea i Edgea.
Mehanizmi su važni jer diktiraju pravila o tome što web programeri mogu učiniti. Kada određeni engine dominira, veća je vjerojatnost da će diktirati standarde, optimizacije i specifične kompatibilnosti. A manja konkurencija kao posljedicu ima manje inovacija.
Novi mehanizmi su rijetkost jer ih nije jednostavno izraditi. Moraju proći desetke tisuća testova kompatibilnosti, a njegovi tvorci moraju odlično poznavati HTML, CSS, JavaScript, grafiku, pojedinosti vezane uz sigurnost, pristupačnost i performanse.
Stoga ne čudi zašto se nitko nije upustio u to više od desetljeća.
Modularni pristup
Iako LadyBird izbjegava naslijeđeni kod iz Chromiuma ili Gecka, crpi određenu arhitektonsku inspiraciju iz postojećih projekata poput WebKita i Qt-a te koristi moderne standarde za C++ (C++20 i novije) da bi stvorio čistu, modularnu arhitekturu odvojenu u neovisne biblioteke.
Njegova jezgra podijeljena je na neovisne biblioteke kao što su LibWeb (renderiranje), LibJS (JavaScript), LibWasm (WebAssembly) i LibGfx (grafika), između ostalih, koje zasebno obrađuju bitne komponente pregledničkog mehanizma.
Ovaj modularni pristup pomaže timu u izbjegavanju nagomilanog tehničkog duga te davanju prioriteta sigurnosti, čitljivosti i održavanju. Također čini LadyBird referencom za obrazovne svrhe: inženjeri ga mogu proučavati bez probijanja kroz milijune redaka naslijeđenog koda.
Za razliku od Blinka i WebKita, LadyBird se teoretski neće morati povinovati tržišnim pritiscima, već će moći strogo slijediti web standarde.
Uz to, imat će priliku za njihovu čistu implementaciju, za razliku od Chromiuma i Gecka, opterećenih čudnim rješenjima zadržanim kako bi se održala kompatibilnost sa starijim stranicama. To bi ga trebalo učiniti lakšim i potencijalno sigurnijim.
Prepreke i izazovi
Kako bi uspio, web engine ne treba biti samo tehnički elegantan, već mora moći prikazati stvarni svijet, često neuredan i kaotičan. Kompatibilnost će svakako biti jedan od najvećih izazova, a bit će mjerena formaliziranim testovima kao što su WPT (Web Platform Tests), koje zajednički razvijaju dobavljači i preglednik.
Korisnici će se obično držati preglednika koji sve ispravno prikazuju, a programeri će se usredotočiti na optimizaciju za ono što oni trebaju. Osim toga, bez značajnog broja korisnika web stranice neće odvojiti vrijeme za testiranje. Taj je začarani krug donio propast nemalom broju enginea.
Uspjeh projekta LadyBird nije samo u dodavanju novog preglednika, već i u uvođenju mogućnosti promjene web standarda. Neovisni preglednik poput LadyBirda mogao bi rebalansirati dinamiku i pomoći u osiguravanju toga da prioriteti jedne tvrtke ili nekoliko njih ne dominiraju internetom, piše Make Use Of.