Прадстаўлены браузерны рухавічок Kosmonaut, напісаны на мове Rust

У рамках праекта касманаўт развіваецца браузерный рухавічок, напісаны цалкам на мове Rust і які выкарыстоўвае некаторыя напрацоўкі праекта Servo. Код распаўсюджваецца пад ліцэнзіяй MPL 2.0 (Mozilla Public License). Для адмалёўкі выкарыстоўваюцца OpenGL-прывязкі. gl-rs на мове Rust. Кіраванне вокнамі і стварэнне кантэксту OpenGL рэалізавана сіламі бібліятэкі Glutin. Для разбору HTML і CSS ужываюцца кампаненты html5ever и cssparser, якія развіваюцца праектам Сервопривод.
Код для працы з DOM заснаваны на напрацоўках праекту Kuchiki, які развівае бібліятэку для маніпуляцый з HTML/XML. Сярод выкарыстоўваных праектаў таксама згадваецца эксперыментальны web-рухавічок. Робінсан, які каля 5 гадоў знаходзіцца ў напаўзакінутым стане.

На бягучым этапе развіцця забяспечана базавая падтрымка HTML і абмежаваны набор магчымасцяў CSS, якіх пакуль нядосыць для прагляду большасці сучасных старонак. Тым не менш простыя старонкі на div-ах з CSS малююцца карэктна. Першапачаткова праект быў заснаваны год таму для навучання працэсу распрацоўкі браузерных рухавічкоў, але зараз спрабуе знайсці новыя нішы прымянення.

Што ўжо рэалізавана:

  • Разбор HTML, падмноства CSS, каскадныя CSS, мадэль DOM.
  • Адмалёўка старонкі, блокавая кампаноўка змесціва.
  • Частковая падтрымка абстрактнай box-мадэлі і ўласцівасцяўкірунак«.
  • Фарміраванне адладкавых дампаў з дрэвам паказу элементаў.
  • Падтрымка адвольных каэфіцыентаў маштабавання для экранаў High-DPI.
  • Адмалёўка тэксту з дапамогай бібліятэкі FreeType.
  • Падтрымка Макет патоку, кантэкстна залежнага inline-фарматавання і адмалёўкі.

Крыніца: opennet.ru

Дадаць каментар