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.

Vlastnosti thumb|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. 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í).

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

Historie vývoje 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).

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.

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.

2024 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.

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.

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.

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.

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.

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. 2025 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.

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.

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.

2026 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.

Odkazy

Reference

Související články Gecko WebKit

Externí odkazy

Oficiální web Oficiální blog – Servo engine zvládne test Acid2

Článek na DiiT – Budoucnost Firefoxu: Mozilla Servo, revoluční nástupce Gecko enginu Článek na DiiT – Mozilla chystá engine Servo na rok 2016, letos přijde první alfa Článek na Root.cz – Mozilla zapnula ve Firefoxu Nightly akcelerované vykreslování na GPU

Kategorie:Renderovací jádra prohlížečů Kategorie:Svobodný software v Rustu Kategorie:Mozilla Kategorie:Software pod licencí MPL