Tutvustati Rust keeles kirjutatud brauserimootorit Kosmonaut

Projekti piirides kosmonaut Arendatakse brauseri mootorit, mis on kirjutatud täielikult Rust keeles ja kasutab mõnda Servo projekti arendust. Kood jaotatud litsentsitud MPL 2.0 (Mozilla avalik litsents) alusel. Renderdamiseks kasutatakse OpenGL-i sidumist gl-rs rooste keeles. Aknahaldust ja OpenGL-i konteksti loomist rakendab raamatukogu Glutiin. Komponente kasutatakse HTML-i ja CSS-i sõelumiseks html5 kunagi и cssparserprojektiga välja töötatud Servo.
DOM-iga töötamise kood põhineb projekti arengutel Kuchiki, mis arendab HTML-i/XML-i manipuleerimiseks raamatukogu. Kasutatud projektide hulgas mainitakse ka eksperimentaalset veebimootorit Robinson, mis on olnud pooleldi mahajäetud olekus umbes 5 aastat.

Praeguses arendusetapis pakutakse põhilist HTML-i tugi ja piiratud hulk CSS-i võimalusi, millest enamiku kaasaegsete lehtede vaatamiseks veel ei piisa. Sellest hoolimata lihtsad lehed CSS-iga dividel on õigesti joonistatud. Projekt asutati algselt aasta tagasi, et õpetada brauserimootorite arendamise protsessi, kuid nüüd püütakse leida uusi rakendusnišše.

Mida on juba rakendatud:

  • HTML-i sõelumine, CSS-i alamhulk, kaskaad-CSS, DOM.
  • Lehekülje renderdamine, blokeeritud sisu paigutus.
  • Abstrakti osaline toetus kasti mudelid ja omadused"suund"
  • Silumistõmmiste loomine kuvatavate elementide puu abil.
  • Toetab suure DPI-ga ekraanide suvalisi skaleerimisfaktoreid.
  • Teksti renderdamine FreeType teegi abil.
  • Toetama Voo paigutus, kontekstitundlik tekstisisene vormindamine ja renderdamine.

Allikas: opennet.ru

Lisa kommentaar