Представен е браузърен двигател Kosmonaut, написан на Rust

В рамките на проекта Космонавт развиваващ се браузърен двигател, написан изцяло на езика Rust, използвайки някои разработки от проекта Servo. Кодът разпространява е под лицензия MPL 2.0 (Mozilla Public License). За рендерирането се използват OpenGL свързаности gl-rs на езика Rust. Управлението на прозорците и създаването на OpenGL контекст е реализирано с помощта на библиотеката Glutin. За парсиране на HTML и CSS се използват компоненти html5ever и cssparser, развивани от проекта Servo.
Кодът за работа с DOM е базиран на разработки от проекта Kuchiki, който разработва библиотека за манипулации с HTML/XML. Сред използваните проекти се споменава и експериментален web-двигател Robinson, който вече около 5 години е в полузабравено състояние.

На текущия етап на развитие е осигурена базова поддръжка на HTML и ограничен набор от CSS функционалности, които все още не са достатъчни за преглед на повечето съвременни страници. Въпреки това прости страници на div-ове с CSS се рендерират коректно. Първоначално проектът беше основан преди година за обучение в процеса на разработка на браузърни двигатели, но сега се опитва да намери нови ниши за приложение.

Какво вече е реализирано:

  • Парсиране на HTML, подмножество CSS, каскадни CSS, модел DOM.
  • Рендериране на страница, блочна компонация на съдържанието.
  • Частична поддръжка на абстрактната box-модел и свойствата „direction«.
  • Създаване на отладъчни дъмпове с дърво на визуализираните елементи.
  • Поддръжка на произволни коефициенти за мащабиране за екрани с High-DPI.
  • Рендериране на текст с помощта на библиотеката FreeType.
  • Поддръжка Flow Layout, контекстно зависимо inline форматиране и рендериране.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster