Kosmonaut-nettlesermotoren, skrevet i Rust, ble introdusert

I prosjektets grenser kosmonaut En nettlesermotor utvikles, skrevet utelukkende på Rust-språket og bruker noen av utviklingene til Servo-prosjektet. Kode distribuert av lisensiert under MPL 2.0 (Mozilla Public License). OpenGL-bindinger brukes til gjengivelse gl-rs på rustspråk. Vindusadministrasjon og OpenGL-kontekstoppretting implementeres av biblioteket Glutin. Komponenter brukes til å analysere HTML og CSS html5 noensinne и cssparserutviklet av prosjektet Servo.
Koden for arbeid med DOM er basert på prosjektets utvikling Kuchiki, som utvikler et bibliotek for å manipulere HTML/XML. Blant prosjektene som er brukt nevnes også en eksperimentell webmotor Robinson, som har vært i en halvforlatt tilstand i omtrent 5 år.

På det nåværende utviklingsstadiet tilbys grunnleggende HTML-støtte og et begrenset sett med CSS-funksjoner, som ennå ikke er tilstrekkelig til å se de fleste moderne sider. Likevel enkle sider på div med CSS er tegnet riktig. Prosjektet ble opprinnelig grunnlagt for et år siden for å lære prosessen med å utvikle nettlesermotorer, men prøver nå å finne nye nisjer med applikasjoner.

Hva er allerede implementert:

  • HTML-parsing, CSS-undersett, cascading CSS, DOM.
  • Sidegjengivelse, blokker innholdslayout.
  • Delvis støtte for abstrakt boksmodeller og eiendommer"retning".
  • Generer feilsøkingsdumper med et tre med viste elementer.
  • Støtter vilkårlige skaleringsfaktorer for skjermer med høy DPI.
  • Gjengivelse av tekst ved hjelp av FreeType-biblioteket.
  • Støtte Flytoppsett, kontekstsensitiv innebygd formatering og gjengivelse.

Kilde: opennet.ru

Legg til en kommentar