Kosmonaut-browsermotoren, skrevet i Rust, blev introduceret

I projektets grænser kosmonaut En browsermotor er ved at blive udviklet, skrevet udelukkende på Rust-sproget og ved hjælp af nogle af udviklingerne i Servo-projektet. Kode distribueret af under MPL 2.0 (Mozilla Public License). OpenGL-bindinger bruges til gengivelse. gl-rs i rustsprog. Vinduesstyring og OpenGL-kontekstoprettelse implementeres af biblioteket Glutin. Komponenter bruges til at parse HTML og CSS html5 nogensinde и cssparser, udviklet af projektet Servo.
Koden til at arbejde med DOM er baseret på projektets udvikling Kuchiki, udvikling af et bibliotek til at manipulere HTML/XML. Blandt de anvendte projekter nævnes også en eksperimentel webmotor. Robinson, som har været i en semi-forladt tilstand i omkring 5 år.

På det nuværende udviklingsstadium tilbydes der grundlæggende HTML-understøttelse og et begrænset sæt CSS-funktioner, som endnu ikke er tilstrækkelige til at vise de fleste moderne sider. Ikke desto mindre simple sider på div'er med CSS gengives de korrekt. Projektet blev oprindeligt grundlagt for et år siden for at undervise i processen med at udvikle browsermotorer, men forsøger nu at finde nye nicher til sin applikation.

Hvad er allerede implementeret:

  • HTML-parsing, CSS-undersæt, cascading CSS, DOM-model.
  • Sidegengivelse, bloklayout af indhold.
  • Delvis støtte til abstrakt kasse modeller og ejendomme"retning".
  • Generer debug-dumps med et træ af viste elementer.
  • Understøttelse af tilpassede skaleringsfaktorer til High-DPI-skærme.
  • Gengivelse af tekst ved hjælp af FreeType-biblioteket.
  • Support Flow layout, kontekstafhængig indlejret formatering og gengivelse.

Kilde: opennet.ru

Tilføj en kommentar