È stato introdotto il motore del browser Kosmonaut, scritto in Rust

Nell'ambito del progetto cosmonauta È in fase di sviluppo un motore browser, scritto interamente in linguaggio Rust e che utilizza alcuni degli sviluppi del progetto Servo. Codice distribuito da concesso in licenza con MPL 2.0 (Mozilla Public License). I collegamenti OpenGL vengono utilizzati per il rendering gl-rs nel linguaggio Rust. La gestione delle finestre e la creazione del contesto OpenGL sono implementate dalla libreria Glutina. I componenti vengono utilizzati per analizzare HTML e CSS html5ever и cssparsersviluppato dal progetto Servo.
Il codice per lavorare con il DOM si basa sugli sviluppi del progetto Kuchiki, che sviluppa una libreria per manipolare HTML/XML. Tra i progetti utilizzati si segnala anche un motore web sperimentale Robinson, che versa in uno stato di semiabbandono da circa 5 anni.

Nell'attuale fase di sviluppo viene fornito il supporto HTML di base e un insieme limitato di funzionalità CSS, che non sono ancora sufficienti per visualizzare la maggior parte delle pagine moderne. Tuttavia pagine semplici sui div con CSS vengono disegnati correttamente. Il progetto è stato originariamente fondato un anno fa per insegnare il processo di sviluppo dei motori dei browser, ma ora sta cercando di trovare nuove nicchie di applicazione.

Cosa è già stato implementato:

  • Analisi HTML, sottoinsieme CSS, CSS a cascata, DOM.
  • Rendering della pagina, blocco del layout del contenuto.
  • Supporto parziale per abstract modelli a scatola e proprietà"direzione«.
  • Generazione di dump di debug con un albero di elementi visualizzati.
  • Supporta fattori di ridimensionamento arbitrari per schermi ad alto DPI.
  • Rendering del testo utilizzando la libreria FreeType.
  • Sostegno Disposizione del flusso, formattazione e rendering in linea sensibili al contesto.

Fonte: opennet.ru

Aggiungi un commento