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 licenseret 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 и cssparserudviklet af projektet Servo.
Koden til at arbejde med DOM er baseret på projektets udvikling Kuchiki, som udvikler 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 udviklingstrin tilbydes grundlæggende HTML-understøttelse og et begrænset sæt CSS-funktioner, som endnu ikke er tilstrækkelige til at se de fleste moderne sider. alligevel simple sider på div'er med CSS er tegnet 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 applikationsnicher.

Hvad er allerede implementeret:

  • HTML-parsing, CSS-undersæt, cascading CSS, DOM.
  • Sidegengivelse, blok indholdslayout.
  • Delvis støtte til abstrakt kasse modeller og ejendomme"retning".
  • Generering af debug-dumps med et træ af viste elementer.
  • Understøtter vilkårlige skaleringsfaktorer for skærme med høj DPI.
  • 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