Přeskočit na obsah

Servo (jádro prohlížeče)

Z Wikipedie, otevřené encyklopedie
Servo
Logo
VývojářLinux Foundation a dobrovolníci; původně Mozilla Corporation
Aktuální verze0.5.0 (31. srpna 2026)
Operační systémmultiplatformní
Platformax86-64, ARM (64-bit i 32-bit)
Vyvíjeno vRust
Typ softwaruRenderovací jádro prohlížeče
LicenceMPL 2.0[1][2] licence
Webservo.org (anglicky)
Některá data mohou pocházet z datové položky.

Servo je experimentální jádro internetového prohlížeče napsané v jazyce Rust. Od počátku jde o výzkumný projekt, který má základy v roce 2012 v Mozilla Corporation. Jeho vývojáři hledají způsob, jak vytvořit vysoce výkonné a paralelní prostředí. Z množství úkolů, které představuje vykreslování (zpracování HTML, dekódování obrázků atd.), jsou vytvářeny dobře zpracovatelné, paralelizovatelné a izolované procesy.

Do roku 2020 většina vývoje probíhala v Mozille, kde byly části projektu začleněny do jádra Gecko prohlížeče Firefox. Od konce roku 2020 je projekt kompletně veden dobrovolníky a spravován konsorciem Linux Foundation.

Servo je pojmenováno po postavě Tom Servo, robotu z televizní show Mystery Science Theater 3000.[3]

Vlastnosti

[editovat | editovat zdroj]
Mozilla Servo zobrazující test Acid2

Servo nyní (duben 2025) přechází z rané fáze do pokročilejší, kdy obsahuje nejen vlastní HTML5 a CSS3 parser naprogramovaný v jazyce Rust, ale také úspěšně úspěšně absolvuje test Acid2.[4] Z praktických vlastností lze uvést například schopnost obsluhovat složité weby jako Gmail a Google Chat.

Důležitou vlastností Serva je vlivem naprogramování v moderním jazyce Rust i menší potencionální chybovost, která přináší větší bezpečnost a tím i méně zneužitelných bezpečnostních chyb.

Také tabulky již vykresluje mnohovláknově, pro vyšší výkon. Servo nabízí inovace jako je paralelní vykreslovací algoritmus, který je zvláště vhodný pro vícejádrové procesory (speciálně mobilní).[5][6]

Servo také podporuje technologie jako WebGL, což umožňuje akceleraci grafiky přímo v prohlížeči.[7]

Historie vývoje

[editovat | editovat zdroj]

Dne 16. března 2016 Mozilla uvolnila Servo pro uživatelské testování. Zatím sice pouze na mobilní (pro Android) a unixové platformy (pro Linux a macOS), ale připravovaly se i další verze (pro Windows x86-64) a pro ARM (64bit a 32bit).[8]

Jak bylo slíbeno, bylo uvolněno testovací sestavení jednoduchého prohlížeče s jádrem Servo a rozhraním kompletně naprogramovaným v jazycích HTML, CSS a JavaScript, které si bylo možno vyzkoušet pro operační systém macOS a Linux, později následovaly verze pro Windows a Android.[9]

Po organizačních změnách v srpnu 2020 zanikl v Mozilla Corporation celý Servo vývojový tým a projekt převzalo konsorcium Linux Foundation s cílem vytvořit embeddovatelné, nezávislé, paměťové bezpečné, modulární a paralelně fungující (maximálně využívající vícejádrové procesory) renderovací jádro prohlížeče. V lednu 2023 byl díky nové vlně financování umožněn týmu vývojářů restart prací a později v roce 2024 na konferenci FOSDEM představen plán dalšího vývoje. Novinky zahrnovaly nové uživatelské rozhraní, experimentální podporu WebGPU, dále měla být kryptografická knihovna OpenSSL nahrazena RustSL, napsaném v Rustu. Také byl vylepšen systém hlášení chyb.[10]

Dne 24. ledna 2024 byly oznámeny další změny. U aktuálního vydání byla použita stabilní verze Rustu a vylepšena kontrola nad typografií, velmi raná podpora pro lepivé umístění a tabulky, a navíc aktualizace miniprohlížeče Servo a nástrojů pro sestavení. Servo "nightly" také má podporu pro kaskádové styly (CSS) „text-align-last“, „text-align: justify“, „vertical-align: baseline“ a „position: sticky“. Dále má Servo "nightly" základní podporu pro rozložení tabulek, když je povolena příslušné předvolba.[11]

Od 12. února 2024 je přítomna základní podpora pro záložní písmo. To je důležité zejména pro stránky, které kombinují text z různých jazyků. Je však třeba více práce na podpoře vykreslování, přes hranice prvků a tvarování složitých skriptů, jako je arabština, ale současná verze by měla stačit pro čínštinu, japonštinu a korejštinu. Pokud se na text stále nezobrazuje, je třeba zkontrolovat nainstalovaná písma se styly stránek a výchozími seznamy písem Servo (Windows, macOS, Linux). Servo "nightly" ukazuje webovou stránku Space Jam (1996) se správně sestaveným tabulkovým menu.

Dne 24. února 2024 se v Servu objevila podpora gamepadu, záložní písmo a další. Dále byla znovu vylepšena práce s vlákny.

Dne 28. února 2024 došlo k velkým pokrokům v tabulkách a architektuře rozvržení prvků stránky, a nový milník kaskádových stylů je CSS2, dále se objevily změny ve vývoji ve WebRenderu a Stylu, plus vylepšení konzole, plátna a CSSOM (CSS Object Model, pro používání CSS pomocí EcmaScriptu/JavaScriptu). Servo "nightly" zobrazuje čínské, japonské a korejské Wikipedie s funkčním záložním písmem. Záložní písmo nyní funguje pro čínštinu, japonštinu a korejštinu.[12]

Dne 30. března 2024 skončilo starší rozvržení, tabulky, runtime filtrování protokolů událostí a vylepšení konzole, plátna, WebGPU, DOM a CSS.[13]

Novinky v Servu: Acid2 redux, Servo book, Qt demo a další. Dne 26. dubna 2024 začal nový milník rozvržení, s přepracovanými dokumenty, rychlejším sestavováním a také vylepšeným vkládáním, videem, písmy, WebGPU a CSS.[14]

Hlavní změny v Servu k 30. květnu 2024 byly v systému písem a servoshellu plus vylepšení flexboxu, tabulek, podpory DOM a rozhraní API pro vkládání. Servo dále nyní podporuje několik dalších funkcí CSS, barevné emotikony, servoshell a další změny.[15]

Ke konci července 2024 byl hlášen zejména pokrok v paralelizaci zpracování HTML tabulek, na jejichž vykreslení tak spolupracují všechna CPU jádra, a dále podpora generických rodin fontů jako sans-serif a monospace, vylepšené ladění (debugging), experimentální podpora systému OpenHarmony. Servo také začalo podporovat několik dalších metod a atributů přístupných v objektovém modelu (DOM – Document Object Model) aktuálního EcmaScriptu (dříve JavaScript). Byly přidány také nové atributy CSS.[16][17]

Dne 9. května 2025 bylo oznámeno, že po zpětné vazbě od uživatelů byly opět zakázány některé nástroje používající umělou inteligenci a pro jejich opětovné povolení bude přihlédnuto k názoru uživatelů.

Další velkou novinkou bylo, že složité weby, jako je Gmail a Google Chat, jsou nyní v Servu použitelné, s určitými výhradami. Tohoto milníku bylo možné dosáhnout pouze díky úsilí mnoha přispěvatelů Serva v celém jádru prohlížeče.[18][19]

Dne 18. června 2025 se objevily informace o dalším vylepšení Serva, zejména o podpoře animace obrázků typu .gif. Dále si Servo nově poradí i s načítáním SVG obrázků při použití HTML tagem img, a také tvůrci vylepšili continuous integration (za přispění Outreachy) a pracují na nakládání s tzv. inkrementálním layoutem, pro plynulé vykreslování. Pokroku též doznala podpora API Trusted Types, input type="color", obecně pak CSS a rozličných dalších API. Zlepšena je stabilita i výkon enginu.[20][21]

Dne 20. října 2025 vyšla první verze jménem Servo 0.0.1, která jde použít jako jednoduchý webový prohlížeč. Vývojáři hodlají takovéto verze zveřejňovat každý měsíc. Tato verze je k dispozici pod operační systémy Linux, macOS, Windows, Android a HarmonyOS.[22][23]

V červenci 2026 došlo k vydání Serva verze 0.5, které obsahuje všechny změny, které byly tento měsíc přidány do Serva, což představuje 488 commitů. Servo 0.5 nyní podporuje různé nové funkce CSS, takže jsou nyní viditelné textové výběry DOM a také různé nové API DOM. Na straně výkonu nyní Servo 0.5 používá vícevláknové vykreslování pro 2D plátno, aby výrazně zvýšilo snímkové frekvence. K dispozici je také až 10x rychlejší vykreslování textu s touto verzí Serva. S verzí Servo 0.5 nyní projekt také vydává binární soubory Linux AArch64, které doplňují sestavy AMD64. Řešeny byly také bezpečnostní opravy.[24][25]

V tomto článku byl použit překlad textu z článku Servo (layout engine) na anglické Wikipedii.

  1. https://www.mozilla.org/en-US/about/legal/eula/
  2. Mozilla Licensing Policies [online]. mozilla.org [cit. 2013-03-26]. Dostupné online.
  3. EICH, Brendan. Add a new UI crate #111 [online]. GitHub, 2012-10-14. Dostupné online. (anglicky)
  4. DEVELOPERS, The Servo Project. This month in Servo: Acid2 redux, Servo book, Qt demo, and more! - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2025-05-13]. Dostupné online. (anglicky)
  5. MOFFITT, Jack. Another Big Milestone for Servo—Acid2. Mozilla Research [online]. 2014-04-17. Dostupné online. (anglicky)
  6. Servo Continues Pushing Forward [online]. Servo, 2015-05-01. Dostupné online. (anglicky)
  7. DEVELOPERS, The Servo Project. Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2025-05-13]. Dostupné online. (anglicky)
  8. ČÍŽEK, Jakub. Mozilla se v červnu pochlubí prohlížečem Servo. Bude úplně jiný, než na co jste zvyklí. http://www.zive.cz/ [online]. 2016-03-16 [cit. 2016-03-16]. Dostupné online.
  9. Testování nového jádra Servo a browser.html. Mozilla.cz [online]. [cit. 2016-07-01]. Dostupné online.
  10. JEŽEK, David. Podpora Intel Xe2 míří do Mesa, web engine Servo hlásí pokroky. Root.cz [online]. [cit. 2023-09-17]. Dostupné online.
  11. DEVELOPERS, The Servo Project. Two months in Servo: better inline layout, stable Rust, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-03-03]. Dostupné online. (anglicky)
  12. DEVELOPERS, The Servo Project. This month in Servo: gamepad support, font fallback, Space Jam, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-03-03]. Dostupné online. (anglicky)
  13. DEVELOPERS, The Servo Project. This month in Servo: tables, WOFF2, Outreachy, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-05-07]. Dostupné online. (anglicky)
  14. DEVELOPERS, The Servo Project. This month in Servo: Acid2 redux, Servo book, Qt demo, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-05-07]. Dostupné online. (anglicky)
  15. DEVELOPERS, The Servo Project. This month in Servo: new CSS units, color emoji, servoshell, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-05-30]. Dostupné online. (anglicky)
  16. DEVELOPERS, The Servo Project. This month in Servo: console logging, parallel tables, OpenXR, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine. Servo [online]. [cit. 2024-07-31]. Dostupné online. (anglicky)
  17. JEŽEK, David. Servo Engine už umí renderovat HTML tabulky vícevláknově. Root.cz [online]. [cit. 2024-07-31]. Dostupné online.
  18. Servo Browser Engine Now Rendering Gmail & Google Chat, Decides Against AI Contributions. www.phoronix.com [online]. [cit. 2025-05-11]. Dostupné online. (anglicky)
  19. DEVELOPERS, The Servo Project. Two months in Servo: CSS nesting, Shadow DOM, Clipboard API, and more! - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2025-05-10]. Dostupné online. (anglicky)
  20. DEVELOPERS, The Servo Project. This month in Servo: color inputs, SVG, embedder JS, and more! - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2025-06-20]. Dostupné online. (anglicky)
  21. JEŽEK, David. Webový engine Servo už umí animované GIFy. Root.cz [online]. [cit. 2025-06-20]. Dostupné online.
  22. DEVELOPERS, The Servo Project. Servo 0.0.1 Release - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2025-10-21]. Dostupné online. (anglicky)
  23. FIKAR, Jan. Vydána první verze webového jádra Servo 0.0.1. Root.cz [online]. [cit. 2025-10-21]. Dostupné online.
  24. Servo 0.5 Released: DuckDuckGo Properly Rendering, Up To 10x Faster Text Rendering. www.phoronix.com [online]. [cit. 2026-09-01]. Dostupné online. (anglicky)
  25. DEVELOPERS, The Servo Project. July in Servo: more platforms, faster canvas, web fonts in SVG, and more! - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.. Servo [online]. [cit. 2026-09-01]. Dostupné online. (anglicky)

Související články

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]
  • Obrázky, zvuky či videa k tématu Servo na Wikimedia Commons
  • (anglicky) Oficiální web
  • (česky) JEŽEK, David. Výkon AMD Ryzen a Intel Core v novém Ubuntu, GTK přechází na Vulkan. Root.cz [online]. [cit. 2024-04-27]. Dostupné online.  – Servo engine zvládne test Acid2
  • (anglicky) The Servo Browser Engine Has Been Making Great Progress In 2023. www.phoronix.com [online]. [cit. 2023-10-02]. Dostupné online. (anglicky) 
  • (česky) Článek na DiiT – Budoucnost Firefoxu: Mozilla Servo, revoluční nástupce Gecko enginu
  • (česky) Článek na DiiT – Mozilla chystá engine Servo na rok 2016, letos přijde první alfa
  • (česky) Článek na Root.cz – Mozilla zapnula ve Firefoxu Nightly akcelerované vykreslování na GPU