experimentální vykreslovací jádro From Wikipedia, the free encyclopedia
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.
![]() | |
![]() | |
Vývojář | Linux Foundation a dobrovolníci; původně Mozilla Corporation |
---|---|
Operační systém | multiplatformní |
Platforma | x86-64, ARM (64-bit i 32-bit) |
Vyvíjeno v | Rust |
Typ softwaru | Renderovací jádro prohlížeče |
Licence | MPL 2.0[1][2] licence |
Web | servo.org (anglicky) |
Některá data mohou pocházet z datové položky. |
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]
Vývoj Serva je stále v rané fázi, přesto již úspěšně vykresluje Wikipedii a GitHub a úspěšně absolvuje test Acid2. Servo nabízí inovace jako je paralelní vykreslovací algoritmus, který je zvláště vhodný pro vícejádrové procesory (speciálně mobilní), a svůj vlastní CSS3 a HTML5 parser naprogramovaný v jazyce Rust.[4][5]
Přestože je Servo stále označováno za experimentální, tak se aktuální verze Serva může pochlubit výrazně vyšším výkonem než jiná jádra prohlížečů.[6]
Konkrétní výsledky:
jádro | výkon |
---|---|
Mozilla Servo | 60 FPS |
Chrome Canary | 15 FPS |
Mozilla Firefox Developer | 9 FPS |
Apple WebKit Nightly | 5 FPS |
Paul Rouget z Mozilly oznámil záměr vydat alpha verzi prohlížeče Browser.html za tři měsíce, tedy v červnu 2016. Tato verze by navíc měla zvládnout vykreslovat weby GitHub, DuckDuckGo, HackerNews a Reddit.[7][8]
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).[9]
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.[10]
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.[11]
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.[12]
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.
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. 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.[13]
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.[14]
Duben 2024 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]
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.[16]
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.[17][18]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.