Febbraio è stato un mese intenso per Servo. La versione 0.0.6 del motore web scritto in Rust arriva con miglioramenti su più fronti, alcuni dei quali toccano l’architettura interna in modo piuttosto significativo.
Layout più veloce
Il cambiamento più rilevante riguarda il layout incrementale. Servo introduce finalmente un layout incrementale vero della struttura ad albero dei box, abbandonando il vecchio approccio basato sui “nodi sporchi”. In pratica, quando una pagina cambia parzialmente, il motore può riutilizzare le parti già calcolate invece di rifare tutto da capo. Stesso discorso per l’albero dei frammenti: i contesti di formattazione indipendenti possono ora essere messi in cache e riusati. Il parser asincrono, ancora sperimentale, potrebbe in futuro ridurre sensibilmente il costo energetico del parsing su pagine che non usano document.write().
// affiliato ▸ Proton Mail · La tua email, davvero privata in offerta a 1€ al mese · Provalo gratis →

DevTools e debugger
Le DevTools fanno un salto in avanti. Nel tab Debugger è ora possibile mettere breakpoint, mettere in pausa l’esecuzione degli script e riprenderla, sia manualmente che quando si colpisce un punto di interruzione. Nel tab Inspector si possono modificare gli attributi del DOM direttamente, e la struttura ad albero si aggiorna in tempo reale. La Console mostra ora un’anteprima degli oggetti passati a console.log().
Piattaforma web e accessibilità

Per quanto riguarda le API web, arrivano il supporto parziale a transform-style: preserve-3d, le regole @property, i Pointer Events, e vari miglioramenti a cookie, IndexedDB e al calcolo dei tempi di rendering (First e Largest Contentful Paint). È partito anche il lavoro sull’accessibilità, al momento nascosto dietro un flag, che permetterà a ciascuna webview di esporre il proprio albero di accessibilità.
Il parser per le immagini ora rispetta i metadati EXIF per l’orientamento, e il fallback dei font diventa più intelligente sfruttando i font di sistema.
Per chi volesse provarla release è già disponibile su GitHub.


Mastodon
Telegram
Bluesky
Lascia un commento