Firefox Quantum è arrivato, e per celebrare la nuova versione – la numero 57 – del popolare browser Web, Mozilla Foundation ha addirittura acquistato uno spazio pubblicitario sul New York Times, cosa che avvenne anche in concomitanza con il rilascio della prima versione, nel lontano 2004.
Il progetto Quantum si prefigge di rivoluzionare l’ormai vetusto motore di rendering Gecko – il cui sviluppo cominciò addirittura nel 1997, ai tempi di Netscape Navigator – integrando gradualmente delle componenti che fanno parte del più moderno ma sperimentale Servo.
Durante le fasi di sviluppo di Firefox Quantum , le quali hanno richiesto ben un anno di lavoro, gli sviluppatori di Mozilla si sono concentrati principalmente sulla realizzazione del motore di rendering CSS – noto con i nomi Quantum CSS e Stylo – e implementato utilizzando il linguaggio di programmazione Rust . Inoltre, sono state risolte ben 369 problematiche di performance , delle quali 277 erano considerate ad alta priorità. Di conseguenza, le prestazioni del browser sono pressoché raddoppiate rispetto alla versione 53 rilasciata sei mesi fa, passando da 32 a 66 giri al minuto e avvicinandosi “pericolosamente” al 70 totalizzato da Google Chrome, secondo il test Speedometer 2.0 .
All’interno delle prossime release di Firefox saranno via via integrati altri sotto-progetti facenti parte di Quantum, come ad esempio Quantum Render , che si prefigge l’integrazione del renderer di Servo, ottimizzato per le GPU; Quantum DOM , il cui scopo è quello di migliorare i tempi di risposta del browser, sfruttando la programmazione multi-thread; Quantum Flow , che racchiude un insieme di migliorie prestazionali estranee agli altri sotto-progetti.
Le novità riguardano anche l’ interfaccia grafica: la nuova Photon UI è più minimale e performante , presenta un’unica barra per la navigazione e la ricerca, nonché un nuovo menu “Libreria” dal quale è possibile accedere ai segnalibri, ai download e alla cronologia. È stata ridisegnata anche la schermata relativa al “nuovo tab”, che viene ora arricchita dall’estensione nativa Pocket utile sia come feed sia per il salvataggio di pagine Web. L’utilizzo della chiave “chrome_url_overrides” consente poi agli sviluppatori di sostituire questa ed altre schermate con ulteriori contenuti personalizzati.
Con Photon UI, sono stati migliorati anche gli strumenti di sviluppo : l’inspector è in grado di gestire griglie e variabili CSS, mentre è stato migliorato l’autocompletamento per i possibili valori assegnabili ai tag. La console, il debugger e il network monitor sono stati riscritti utilizzando le librerie javascript React e Redux ; inoltre, sono state aggiunte nuove funzionalità provenienti da Firebug, come la copia dell’XPath relativo ad un elemento HTML. La diretta conseguenza di queste migliorie è l’abbandono di Firebug , dopo quasi 12 anni di vita.
Per quanto riguarda WebAssembly, una delle novità legate al Web più rilevanti degli ultimi due anni , si viene a sapere che solo di recente è stato supportato in maniera nativa da tutti i principali browser Internet; Firefox, invece, ne ha introdotto il supporto già con la versione 52 . WebAssembly è un linguaggio di programmazione simil-assemblativo ad elevate prestazioni, utilizzabile per tradurre applicazioni scritte in Rust, C o C++ e integrarle all’interno di web-app javascript. Le potenzialità del linguaggio coprono diverse aree, come il gaming , le simulazioni scientifiche, l’Internet of Things e la virtualizzazione.
Tuttavia, i tanti cambiamenti in atto portano anche delle conseguenze negative: con la nuova versione di Firefox, infatti, una discreta parte delle estensioni ad oggi disponibili smetterà di funzionare , a causa di nuove restrizioni presenti all’interno delle API WebExtensions .
Infine, un ulteriore cambiamento significativo riguarda la stipula di un nuovo accordo di partnership con Google , grazie al quale il motore di ricerca di Mountain View tornerà ad essere il predefinito negli Stati Uniti, nonché in Canada, Hong Kong e Taiwan.