Predstavený prehliadačový engin Kosmonaut, napísaný v jazyku Rust

V rámci projektu Kosmonaut vyvíja sa prehliadačový engine, napísaný celým na jazyku Rust a využívajúci niektoré know-how projektu Servo. Kód distribuovaný je licencovaný pod MPL 2.0 (Mozilla Public License). Na vykresľovanie sa používajú OpenGL väzby gl-rs v jazyku Rust. Správa okien a vytvorenie kontextu OpenGL je implementované pomocou knižnice Glutin. Na parsovanie HTML a CSS sa používajú komponenty html5ever a cssparser, vyvíjané projektom Servo.
Kód pre prácu s DOM je založený na výsledkoch projektu Kuchiki, ktorý vyvíja knižnicu na manipuláciu s HTML/XML. Medzi použitými projektmi sa tiež spomína experimentálny webový engine Robinson, ktorý už približne 5 rokov je v polozabudnutom stave.

V súčasnej fáze vývoja je zabezpečená základná podpora HTML a obmedzená sada funkcií CSS, ktorá zatiaľ nestačí na prezeranie väčšiny moderných stránok. Napriek tomu jednoduché stránky na divoch s CSS sa vykresľujú správne. Pôvodne bol projekt založený pred rokom za účelom vzdelávania v procese vývoja prehliadačových enginov, ale teraz sa snaží nájsť nové oblasti uplatnenia.

Čo už bolo implementované:

  • Parsovanie HTML, podmnožina CSS, kaskádové CSS, model DOM.
  • Vykreslenie stránky, bloková kompozícia obsahu.
  • Čiastková podpora abstraktnej box-modely a vlastností „direction«.
  • Tvorba laditeľných dmp s stromom zobrazených prvkov.
  • Podpora ľubovoľných faktorov škálovania pre obrazovky High-DPI.
  • Vykreslenie textu pomocou knižnice FreeType.
  • Podpora Flow Layout, kontextovo závislé inline formátovanie a vykreslenie.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster