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

experimentální vykreslovací jádro From Wikipedia, the free encyclopedia

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

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.

Stručná fakta Vývojář, Operační systém ...

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]

Remove ads

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[4]. Z praktických vlastností jmenujme 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]

Remove ads

Historie vývoje

Květen 2025

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.[8][9]

Duben 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ů.

Zároveň máme další velkou novinku. 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 neustálé tvrdé práci mnoha přispěvatelů Serva v celém jádru prohlížeče a jsme vděční za veškeré úsilí, které k dosažení tohoto bodu přispělo.[10][11]

Červenec 2024

Ke konci července 2024 je 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.[12][13]

Květen 2024

Hlavní změny v Servu k 30. květnu 2024 jsou 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.[14]

Duben 2024

Novinky v Servu: Acid2 redux, Servo book, Qt demo a další. Dne 26. dubna 2024 začíná 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.[15]

Únor a březen 2024

Dne 24. února 2024. Tento měsíc se v Servu objevila podpora gamepadu, záložní písmo a další. Dále je 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.[16]

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

Leden 2024

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 narazíte na text, který se stále nezobrazuje, nezapomeňte 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.

Prosinec 2023

Dne 24. ledna 2024 byly oznámeny následující 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.[18]

Dřívější historie

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

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 je možno vyzkoušet. Jsou pro operační systém macOS a Linux, budou následovat verze pro Windows a Android.[20]

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 zahrnují nové uživatelské rozhraní, experimentální podporu WebGPU, dále je kryptografická knihovna OpenSSL nahrazena RustSL, napsaném v Rustu. Také je vylepšen systém hlášení chyb.[21]

Remove ads

Odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads