Změna vývojového procesu a pokrok v rozvoji prohlížeče Ladybird

Andreas Kling, zakladatel webového prohlížeče Ladybird, oznámil změnu vývojového procesu projektu. Ladybird nyní přestává přijímat veřejné pull requesty a přechází k propagaci změn v kódové základně pouze prostřednictvím správců. Všechny již otevřené veřejné pull requesty budou uzavřeny. Zdroje kódu Ladybird budou nadále dodávány pod licencí BSD. Hlásení o problémech, zranitelnostech a testování funkčnosti s webovými stránkami budou nadále přijímána beze změny. Zájemci z řad veřejnosti se také budou moci účastnit diskuzí týkajících se podpory standardů a architektury projektu.

Mezi důvody pro přestání akceptování veřejných pull requestů je uvedena příprava na první alfa verzi, která vyžaduje přísnější rozdělení odpovědnosti za provedené změny. Podle tvůrců Ladybird by kód měl být akceptován pouze od těch, kteří jsou důvěryhodní a ochotni nést osobní odpovědnost za každý řádek kódu, a také za to, zda kód odpovídá architektuře projektu a bude moci být udržován v budoucnu.

Mezi problémy, které vznikají při přijímání změn od všech, kdo mají zájem, se uvádí snižování úrovně důvěry k autorům patchů – kvůli možnosti generování změn prostřednictvím AI, velikost patchu nyní neodpovídá náročnosti práce a času vynaloženému na vývoj. Přijetí externích patchů také usnadňuje činnost útočníků, kteří zpočátku generují funkční změny, aby si získali důvěru pro následnou implementaci skrytých zranitelností do kódu.

Dále lze zmínit květnovou zprávu o pokroku Ladybird. Mezi nedávnými úspěchy lze uvést:

  • Byl implementován JIT kompiler pro WebAssembly, založený na Cranelift (přechod od interpretace k JIT kompilaci zvýšil výkon testu CoreMark osminásobně a 3-4krát u mikrotestů jednotlivých funkcí);
  • Byl nasazen nový blokátor nežádoucího obsahu, založený na knihovně adblock-rust z projektu Brave, který podporuje filtry ve stylu Adblock Plus a EasyList;
  • Parser HTML byl přepsán v jazyce Rust;
  • Kód pro posouvání obsahu byl oddělen od hlavního vlákna do samostatného procesu kompozice a převeden na asynchronní model práce.
  • Ve výchozím nastavení je aktivováno API Media Source Extensions a zlepšena práce s streamovaným videem;
  • Byl přidán systém ukládání bajtkódů JavaScript na disku;
  • V garbage collectoru byl implementován inkrementální režim úklidu paměti, který vylučuje dlouhé pozastavení výpočtů a zvyšuje odezvu uživatelského rozhraní;
  • Byla rozšířena podpora CSS, implementovány dotazovací kontejnery (@container), oddělení viditelnosti (@scope), „grid-template-columns: subgrid“, „scroll-margin“, „scroll-padding“;
  • Bylo přidáno API Permissions;
  • Byl implementován protokol HSTS (HTTP Strict Transport Security);
  • Bylo zajištěno automatické určení kódování textu;
  • Do nástrojů pro webové vývojáře byla přidána podpora inspekce flexbox a grid rozvržení;
  • Byla zlepšena kompatibilita s Discord, Shopify, Reddit a také se stránkami využívajícími grafiky na základě knihovny TradingView.
  • Bylo modernizováno uživatelské rozhraní založené na knihovně Qt. Byl implementován režim vertikálního zobrazení záložek. Byla přidána podpora pro přesouvání záložek myší za účelem jejich seskupení, odpojení nebo přesunu do jiného okna;

  • Místo standardních stylů panelů a tlačítek pro Qt bylo implementováno vlastní provedení záložek, panelů nástrojů a adresního řádku. Byla přidána možnost obnovit nedávno zavřené záložky a okna. Byla implementována funkce vkládání textu z clipboardu středním tlačítkem myši.

Prohlížeč Ladybird vyvíjí Andreas Kling, který dříve pracoval ve společnosti Nokia a zabýval se vývojem KHTML, a poté v Apple byl jedním z vývojářů Safari. Původně byl projekt vytvořen jako aplikace pro operační systém SerenityOS, ale v létě 2024 byl vyčleněn do samostatného projektu a obdržel dar ve výši 1 milionu dolarů. Prohlížeč je napsán v jazyce C++ (projekt přepsání komponent na Rust byl zahájen) a je distribuován pod licencí BSD. Projektem se vyvíjí vlastní engine LibWeb, JavaScript interpret LibJS a související knihovny.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster