Macitynet.it

Servo, Mozilla studia un motore di rendering alternativo a Gecko

di | 28/6/2012

Mozilla studia un motore di rendering alternastivo allo storico Gecko, utilizzato dal browser Firefox, dal client di posta Thunderbird e da altri prodotti. Il nuovo engine è scritto in Rust, un linguaggio di programmazione multi-piattaforma che punta a sostituire il collaudato C++ all’interno del browser Firefox.

Firefox sta per cambiare “anima”? Secondo alcune fonti la risposta è sì, con il team Mozilla in procinto di abbandonare il conosciutissimo motore di rendering Gecko a favore di Servo.

L’addio a Gecko, che ha costituito la base del modo in cui Firiefox mostra le pagine Internet sarebbe un piccolo pezzetto di storia di Internet anche dal punto di vista tecnologico. Servo non sarebbe scritto in C++ come Gecko ma in Rust, linguaggio di programmazione multi-piattaforma nato in casa Mozilla che punta a sostituire il collaudato C++ all’interno del browser Firefox. Tra le peculiarità di questo engine la modularità: alcuni componenti possono essere sostituiti con altri senza problemi e si possono delegare funzioni (es. il rendering) ad altri componenti. Tra le similitudini con Gecko, il motore di rendering usato per default (Azure) e il motore JavaScript (SpiderMonkey).

Tra i vantaggi intrinsechi dell’uso di Rust, la sicurezza: non è possibile utilizzare puntatori NULL, funzioni che impediscono il buffer overflow  gestendo l’allocazione della memoria in modo particolare e tool per la gestione delle problematiche legate alla concorrenza (controllando l’esecuzione contemporanea de processi che condividono le stesse risorse).

Mozilla già oggi non usa ovunque Gecko; con Junior, browser dedicato all’iPad, utilizza WebKit, come altri browser per iOS (iCab, Dolphin, Opera Mini) tutti sviluppati partendo da questo “motore”, a causa di un divieto di Apple stessa che impedisce l’utilizzo di altri motori diversi da quello di Safari.

In ogni caso il progetto Servo è ancora in fase embrionale e non ci sono date per l’adozione nè in termini temporali nè di release di Firefox

 

[A cura di Mauro Notarianni]