Przedstawiono silnik przeglądarkowy Kosmonaut, napisany w języku Rust

W ramach projektu Kosmonaut rozwija się silnik przeglądarki, napisany w całości w języku Rust, który wykorzystuje niektóre osiągnięcia projektu Servo. Kod rozpowszechniany jest licencjonowany na podstawie MPL 2.0 (Mozilla Public License). Do renderowania używane są powiązania OpenGL gl-rs w języku Rust. Zarządzanie oknami i tworzenie kontekstu OpenGL zostało zrealizowane dzięki bibliotece Glutin. Do analizy HTML i CSS stosowane są komponenty html5ever i cssparser, rozwijane w ramach projektu Servo.
Kod do pracy z DOM oparty jest na dokonaniach projektu Kuchiki, rozwijającego bibliotekę do manipulacji z HTML/XML. Wśród używanych projektów wymieniany jest również eksperymentalny silnik webowy Robinson, który od około 5 lat znajduje się w stanie półzaniechanym.

Na obecnym etapie rozwoju zapewniona jest podstawowa obsługa HTML i ograniczony zestaw możliwości CSS, które na razie są niewystarczające do przeglądania większości nowoczesnych stron. Niemniej jednak proste strony na divach z CSS renderują się poprawnie. Początkowo projekt został założony rok temu w celach edukacyjnych dotyczących procesu tworzenia silników przeglądarek, ale teraz stara się znaleźć nowe nisze zastosowania.

Co już zostało zrealizowane:

  • Analiza HTML, podzbiór CSS, kaskadowe CSS, model DOM.
  • Renderowanie strony, blokowe układanie zawartości.
  • Częściowe wsparcie dla abstrakcyjnej modelu box i właściwości „direction«.
  • Tworzenie dumpów debugowych z drzewem wyświetlanych elementów.
  • Wsparcie dowolnych współczynników skalowania dla ekranów High-DPI.
  • Renderowanie tekstu z wykorzystaniem biblioteki FreeType.
  • Wsparcie Flow Layout, kontekstowo zależnego formatowania inline i renderowania.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster