De Kosmonaut-browserengine, geschreven in Rust, werd geïntroduceerd

Binnen de grenzen van het project kosmonaut Er wordt een browser-engine ontwikkeld, volledig geschreven in de Rust-taal en waarbij gebruik wordt gemaakt van enkele ontwikkelingen van het Servo-project. Code gedistribueerd door gelicentieerd onder MPL 2.0 (Mozilla Public License). Voor het renderen worden OpenGL-bindingen gebruikt gl-rs in Roest-taal. Vensterbeheer en OpenGL-contextcreatie worden door de bibliotheek geïmplementeerd Glutine. Componenten worden gebruikt om HTML en CSS te parseren html5ooit и cssparserontwikkeld door het project Servo-.
De code voor het werken met de DOM is gebaseerd op de ontwikkelingen van het project Kuchiki, dat een bibliotheek ontwikkelt voor het manipuleren van HTML/XML. Onder de gebruikte projecten wordt ook een experimentele webengine genoemd Robinson, dat al ongeveer vijf jaar in een semi-verlaten staat verkeert.

In de huidige ontwikkelingsfase wordt standaard HTML-ondersteuning en een beperkte set CSS-mogelijkheden geboden, die nog niet voldoende zijn om de meeste moderne pagina's te bekijken. Hoe dan ook eenvoudige pagina's op divs met CSS worden correct getekend. Het project werd oorspronkelijk een jaar geleden opgericht om het proces van het ontwikkelen van browsermotoren te onderwijzen, maar probeert nu nieuwe toepassingsniches te vinden.

Wat is er al geïmplementeerd:

  • HTML-parsing, CSS-subset, trapsgewijze CSS, DOM.
  • Paginaweergave, lay-out van blokinhoud.
  • Gedeeltelijke ondersteuning voor abstract doos modellen en eigenschappen"richting".
  • Het genereren van foutopsporingsdumps met een boomstructuur van weergegeven elementen.
  • Ondersteunt willekeurige schaalfactoren voor schermen met hoge DPI.
  • Tekst renderen met behulp van de FreeType-bibliotheek.
  • Ondersteunen Stroomindeling, contextgevoelige inline-opmaak en weergave.

Bron: opennet.ru

Voeg een reactie