Bol predstavený engine prehliadača Kosmonaut napísaný v jazyku Rust

V hraniciach projektu kozmonaut Vyvíja sa engine prehliadača, napísaný výhradne v jazyku Rust a využívajúci niektoré z vývoja projektu Servo. kód distribuovaný pod licenciou MPL 2.0 (Mozilla Public License). Na vykresľovanie sa používajú väzby OpenGL gl-rs v jazyku Rust. Správu okien a vytváranie kontextu OpenGL implementuje knižnica Glutin. Komponenty sa používajú na analýzu HTML a CSS html5ever и cssparservyvinuté projektom Servo.
Kód pre prácu s DOM je založený na vývoji projektu Kuchiki, ktorá vyvíja knižnicu na manipuláciu s HTML/XML. Medzi použitými projektmi sa spomína aj experimentálny webový engine Robinson, ktorý je už cca 5 rokov v poloopustenom stave.

V súčasnej fáze vývoja je poskytovaná základná podpora HTML a obmedzená sada možností CSS, ktoré ešte nepostačujú na zobrazenie väčšiny moderných stránok. Napriek tomu jednoduché stránky na divs s CSS sú nakreslené správne. Projekt bol pôvodne založený pred rokom s cieľom naučiť proces vývoja motorov prehliadača, ale teraz sa snaží nájsť nové miesta pre aplikácie.

Čo už bolo implementované:

  • Analýza HTML, podmnožina CSS, kaskádové CSS, DOM.
  • Vykresľovanie stránky, rozloženie obsahu bloku.
  • Čiastočná podpora abstraktu krabicové modely a vlastnosti"smer".
  • Generovanie výpisov ladenia so stromom zobrazených prvkov.
  • Podporuje ľubovoľné škálovacie faktory pre obrazovky s vysokým rozlíšením DPI.
  • Vykresľovanie textu pomocou knižnice FreeType.
  • Podpora Rozloženie toku, kontextové inline formátovanie a vykresľovanie.

Zdroj: opennet.ru

Pridať komentár