Diit.cz - Novinky a informace o hardware, software a internetu

Budoucnost Firefoxu: Mozilla Servo, revoluční nástupce Gecko enginu

Jednoho dne se možná Firefox rozloučí se zastaralým vykreslovacím enginem Gecko. Velmi pravděpodobně jen nahradí next-gen zvaný Servo, jejž Mozilla vyvíjí v programovacím jazyku Rust.

Mozilla již nějakou dobu vyvíjí zbrusu nový layout engine Servo. Společně s ní na projektu pracuje i Samsung, který má na starosti portaci Serva pro Android/ARM. A berou to pěkně od podlahy, Servo vzniká v programovacím jazyku Rust, který Mozilla též vyvíjí.

Důvod vzniku projektu Servo souvisí se zastaralostí současných layout enginů ve webových prohlížečích. Ty staví na architekturách z doby konce minulého století, kdy se kupříkladu nepočítalo s vícejádrovými procesory. Ano, lze dělat to, co třeba Chrome, tedy oddělit jednotlivé aby do vlastních procesů, případně to, co Firefox kdysi zavedl, tedy oddělení pluginů do vlastního procesu, ale to je málo. Pokud je něco jisté, tak skutečnost, že procesorových jader bude přibývat. Ostatně za dobu, co se tento problém objevil (s prvními Intel procesory s HT), jsme se dostali přes dvoujádrové a čtyřjádrové (případně šestijádrové Phenomy) až k osmijádrovým procesorům AMD či šestijádrovým (12vláknovým) procesorům Intel. ARM platforma již také nabízí mnoho jader.

Servo engine je od základu navržen, aby byl z hlediska multivláknové práce co nejefektivnější. Jednoho dne patrně nahradí Gecko, ale to ještě předbíháme (takové rozhodnutí zatím nepadlo). Vedle toho jeho architektura bude i obecně bezpečnější a v součtu také o dost výkonnější.

Pro letošek je sestavena roadmapa vývoje Serva. V prvním čtvrtletí by tvůrci rádi engine doladili tak, aby uměl pracovat s Wikipedií (dílčí kroky jsou věci jako projítí Acid2 testu, inkrementální/paralelní layout, HiDPI režim, platformové testy W3C, zavedení nočních buildů atd.). Druhé čtvrtletí si klade za cíl podporu základních webových aplikací (s dílčími úkoly jako průchod Acid3 testu - což vyžaduje podporu formulářů či SVG, XMLHttpRequest, podporu WebGL, embeddování či HTML5 parser a další věci). Třetí kvartál se zaměří na další růst funkcionality a testy na architekturách (podpora TLS/SSL, cache, cross-language inlining (pro JavaScript), canvas či webové animace) a poslední čtvrtletí roku přinese již zminovaný multiprocessing, dále příkazový řádek prohlížeče, podporu multimédií, sandobingu, add-onů, uživatelských nastavení, záložek, historie, cookies či vývojářské nástroje, tedy vše, aby bylo možné engine/prohlížeč předhodit k většímu veřejnému testování.

V jazyku Rust je Servo psáno mimo jiné proto, že C++ není dostatečně dobré k takové úloze z hlediska toho, jaké možnosti se nabízí útočníkům v rámci chyb či bezpčnostních děr souvisejících s nekorektní správou paměti či trasováním dat. Rust je speciálně navržen s těmito hrozbami na mysli, takže případný budoucí Firefox postavený na Servu by měl být z principu věci sám o sobě daleko bezpečnější.

Servo engine je v tuto chvíli veden jako výzkumný projekt, u nějž nelze vyloučit budoucí použití v nějakém produktu. Ale rozhodně není navržen jako webový prohlížeč, nýbrž jako čistý základní engine pro použití v aplikacích, ať již třeba Firefoxu, nebo jinde (Thunderbird atd.).

Tagy: 
Zdroje: 

David Ježek

Dlouholetý zdejší redaktor (2005-2017), příznivec open-source rád píšící i o ne-IT tématech. Odpůrce sw patentů a omezování občanských svobod ve prospěch korporací. Fanoušek Asimova, Kinga, Feynmana, Sudka, 70mm filmu, sf/vf filmu, Fomapanu 400, starých dobrých her, 99% čokolády, indické kuchyně, domácího kváskového chleba a řady dalších věcí.

více článků, blogů a informací o autorovi

Diskuse ke článku Budoucnost Firefoxu: Mozilla Servo, revoluční nástupce Gecko enginu

Středa, 26 Únor 2014 - 21:20 | hmhmhm | Co znamená podpora "sandobingu"?
Čtvrtek, 20 Únor 2014 - 16:29 | HKMaly | To zni dobre, a ted jeste jestli v tom prohlizeci...
Středa, 19 Únor 2014 - 22:22 | Michal Dorner | Cela tato diskusia ide trochu zlym smerom. Ta...
Středa, 19 Únor 2014 - 22:15 | Michal Dorner | Je to nad LLVM. Pokial viem tak to vyuziva aj...
Středa, 19 Únor 2014 - 19:40 | aa bb | Tak urcite asi ziaden programator nechce cielene...
Středa, 19 Únor 2014 - 17:28 | eddward | Vzhladom k tomu ze Mozilla nie je jeden tím ktory...
Středa, 19 Únor 2014 - 17:09 | Mitch | Asi nikdo si nekupuje hardware pokud ho nechce...
Středa, 19 Únor 2014 - 17:06 | Trebus | To je pravda, ale předpokládám, že Mozilla to...
Středa, 19 Únor 2014 - 13:31 | JVc | Vzdy bude moznost si sam nastavit sprazeni na...
Středa, 19 Únor 2014 - 13:20 | aa bb | A to co prave pisete je blbost. Respektive to co...

Zobrazit diskusi