Ecco perché Firefox è ancora anni dietro Google Chrome
Firefox ha un problema. È rimasto indietro, con lo sviluppo bloccato sui problemi più cruciali e più difficili. Molti dei miglioramenti più significativi apportati a Firefox negli ultimi anni sono stati semplicemente la copia delle modifiche apportate in Chrome.
Ci auguriamo che Firefox sia migliore, ma la realtà è che non è ancora buono come Chrome. Con così tanti ex sviluppatori di Firefox che ora lavorano su Chrome su Google, forse ha senso che l'innovazione sia avvenuta in Chrome, non in Firefox.
Nessuna architettura multiprocesso
Le CPU stanno acquisendo sempre più core, diventando in grado di fare più lavoro in parallelo. Le CPU single-core sono diventate inaudite, e anche i computer con la potenza più bassa hanno almeno CPU dual-core. Il futuro è una quantità sempre maggiore di core CPU, e i programmi per computer dovranno diventare in grado di fare più lavoro in parallelo per sfruttare tutta questa potenza di elaborazione.
Chrome si occupa di questo con un'architettura multi-processo. Ogni sito web che hai aperto viene eseguito nel suo stesso processo. I processi in background, come le estensioni e le app che funzionano in background, vengono eseguiti nel loro stesso processo. Anche i plug-in del browser vengono eseguiti nel loro stesso processo. In modo determinante, l'interfaccia utente di Chrome viene eseguita anche nel suo stesso processo.
se hai una moderna CPU multi-core, Chrome la userà in modo intelligente e funzionerà bene, dividendo il lavoro tra le CPU. Può fare molte cose contemporaneamente e l'interfaccia di Chrome non dovrebbe mai rallentare e rallentare quando le pagine vengono caricate in background.
Firefox è un'altra questione. Firefox utilizza un'architettura a processo singolo, sebbene i plugin vengano ora eseguiti in un processo separato. Se apri cinque schede del browser, il processo di Firefox principale deve caricarle e renderle, oltre a gestire l'interfaccia utente di Firefox, in modo che il browser non sia così reattivo quanto Chrome. Se una delle pagine si blocca, porterà con sé l'intero browser.
Questo è ancora estremamente evidente: su una potente CPU Intel Core i7, Chrome si comporta perfettamente, ma l'interfaccia di Firefox rallenta e rallenta con il caricamento di più pagine, almeno nella mia esperienza. Non è così semplice, ed è a causa dell'architettura datata di Firefox.
Mozilla stava lavorando a una soluzione per questo. Si chiamava Electrolysis, lo sviluppo è iniziato nel 2009 ed è stato un progetto per trasformare Firefox in un vero e proprio browser multi-processo. L'elettrolisi è stata "messa in attesa per il futuro prevedibile" nel 2011, con Mozilla che affermava che "l'elettrolisi è una grande impresa" e che avrebbero perseguito "una serie di iniziative minori" per migliorare la reattività del browser a breve termine.
Mozilla ha recentemente riavviato il progetto Electrolysis a maggio 2013, quindi se siamo fortunati vedremo un Firefox multiprocesso a un certo punto. Persino Internet Explorer ha funzionalità multiprocessuali a partire da Internet Explorer 8, quindi Firefox è molto indietro - e proprio ora sta iniziando il duro lavoro di recuperare dopo aver fermato il progetto nel 2011.
Anni dietro Chrome: 4.7 e conteggio
Firefox non usa una sandbox di sicurezza
Chrome e Internet Explorer utilizzano una moderna funzionalità di Windows chiamata "modalità bassa integrità" o "modalità protetta" per eseguire i processi del browser con il minor numero possibile di autorizzazioni utente. Se una vulnerabilità del browser è stata scoperta e sfruttata in Chrome o IE, lo sfruttatore dovrebbe anche utilizzare una sorta di vulnerabilità aggiuntiva per sfuggire alla sandbox di sicurezza e ottenere l'accesso al resto del sistema.
Questa funzione è disponibile da Windows Vista, che è stata rilasciata più di sei anni fa. Tuttavia, Mozilla sta ancora lavorando alla funzione "diritti bassi di Firefox" e non c'è tempo per quando le funzionalità di sandboxing verranno presentate agli utenti. Il sandboxing non è un toccasana, ma è una funzionalità di sicurezza importante che si trova in altri browser moderni.
I commenti sul bug tracker di Firefox indicano che gli sviluppatori guarderanno al sandbox l'app di Windows 8 Modern Firefox, Firefox OS e il browser sperimentale Servo su OS X. Non c'è nessuna indicazione che qualcuno stia lavorando alla sandboxing della versione desktop di Windows di Firefox al momento. Questa è chiaramente la versione più popolare e più vulnerabile di Firefox che ha bisogno di più protezione.
Anni dietro Chrome: 4.7 e conteggio
Firefox vuole un Web App Store desktop
Mozilla è fermamente convinta che le app Web e le tecnologie web sostituiranno la necessità di software desktop e app mobili native, offrendo un futuro multipiattaforma in cui le app HTML5 girano su ogni piattaforma.
A tal fine, Mozilla vuole creare il proprio app store web, noto come il Marketplace di Firefox. Questa funzione è disponibile in Firefox per Android e farà parte di Firefox OS. Firefox OS è di per sé un sistema operativo mobile che si sta avviando anni dopo che dovrebbe avere - oltre a Windows Phone di Microsoft e BlackBerry 10 di BlackBerry, due sistemi operativi mobili che hanno una lunga battaglia in salita davanti a loro perché sono stati lanciati così tardi.
Tuttavia, al momento puoi utilizzare Firefox Marketplace su Firefox per Android. Mozilla ha parlato del rilascio di un Marketplace di Firefox per il desktop per anni, ma per ora ha deciso di concentrarsi solo sui dispositivi mobili. Il Marketplace di Firefox desktop sarà rilasciato in futuro. Nel frattempo, Chrome ha avuto il Chrome Web Store per anni. Le nuove app in pacchetto di Chrome estenderanno presto la funzionalità delle app web di Chrome, facendo più splash.
Mozilla vuole spingere le app web e aprire le tecnologie web sul desktop, ma non lo fanno - lo è Google.
Anni dietro Chrome: 2.5 e conteggio
Esempi di Firefox ritardano dietro Chrome
Firefox ha recuperato in molti modi nel corso degli anni, ma molte delle sue modifiche hanno semplicemente copiato il modo in cui Google Chrome funziona:
- Navigazione privata multi-finestra: Firefox ha recentemente ottenuto la possibilità di aprire una finestra di navigazione privata accanto a una normale finestra di navigazione, una funzionalità tanto desiderata che è stata in Chrome sin dall'inizio.
- Aggiornamenti frequenti: Dopo l'avvio di Chrome, Firefox è passato a una pianificazione di rilascio più frequente, come quella di Chrome.
- Estensioni che possono gestire gli aggiornamenti del browser: Firefox ha quindi dovuto lavorare sull'aggiornamento dell'API di estensione, consentendo l'installazione di estensioni senza riavvio e per funzionare senza interruzioni dopo gli aggiornamenti della versione del browser, proprio come hanno funzionato su Chrome.
- PDF Viewer: Firefox ha recentemente acquisito un visualizzatore PDF integrato, molto tempo dopo l'avvio di tale funzione in Chrome.
- Progettazione dell'interfaccia utente: Tutti i browser hanno seguito la guida di Chrome nel passaggio a un'interfaccia browser più minimale, incluso Firefox. I recenti modelli di interfaccia utente suggeriscono che un'interfaccia ancora più simile a quella di Chrome potrebbe essere nel futuro di Firefox.
- Plugin fuori processo: Sebbene Firefox non disponga di funzionalità multi-processo appropriate come Chrome, ha aggiunto una funzionalità che consente ai plug-in come Flash di essere eseguiti nel proprio processo in modo da non bloccare il resto del browser.
- Prestazioni JavaScript: Come tutti gli altri browser, Firefox è stato spinto a migliorare notevolmente le sue prestazioni JavaScript dopo che Chrome si presentava con il suo enorme vantaggio nelle prestazioni JavaScript su tutti.
Nell'insieme, è chiaro che Chrome ha guidato il pacchetto nell'innovazione dei browser per anni.
Vorremmo che Firefox fosse migliore
Non stiamo solo cercando di attaccare Firefox qui. Un tempo era il miglior browser, e Mozilla merita credito per aver mangiato nella quota di mercato di Internet Explorer 6, mostrando a Microsoft che potrebbero perdere il loro posto e costringerli a riavviare lo sviluppo di Internet Explorer interrotto. Meritano anche credito per rendere il web più standardizzato, eliminando i siti web che dicono di essere "Progettato per Internet Explorer". Ciò ha permesso ad altri browser di intervenire, i più popolari sono Chrome e Safari. Firefox ha gettato le basi e Mozilla è stato un infaticabile combattente per gli standard aperti.
È vantaggioso per il Web avere Mozilla come fornitore di browser che non è legato a un'unica grande azienda, in quanto Microsoft, Google e Apple possiedono gli altri browser principali. Il fatto che abbiamo un browser open source creato da un'organizzazione non profit che cerca solo di migliorare il Web è ottimo per il web.
Ecco perché è un peccato che Mozilla abbia consentito a Firefox di cadere così indietro. Interrompere lo sviluppo su Electrolysis e non avere ancora implementato le funzionalità di sicurezza sandboxing sono segnali che Mozilla non è stato preparato per snocciolare e fare il duro lavoro a basso livello per migliorare le prestazioni e la sicurezza di Firefox. Molte delle altre modifiche apportate hanno imitato le modifiche apportate in Chrome molto prima.
Firefox è ancora il miglior browser in qualche modo. Ad esempio, se hai bisogno del più potente framework per l'estensione del browser, Firefox ce l'ha. Ma desideriamo che Firefox sia più competitivo in altri modi. Nel 2013, un browser dovrebbe essere un'applicazione multiprocesso con sandboxing di sicurezza appropriato. Ma Firefox non è - in effetti, è caduto dietro Internet Explorer quando si tratta di queste due importanti funzionalità.
C'era una volta un potente browser conosciuto come la suite Mozilla. Era troppo grande e gonfio per il suo bene, quindi un gruppo di sviluppatori ha deciso di creare un nuovo browser minimo dalle sue tecnologie principali. Lo hanno chiamato Phoenix, e si è evoluto nel Firefox che conosciamo oggi. Se Mozilla non può trasformare Firefox in un browser moderno a causa di tutto il codice legacy che si frappone, forse abbiamo bisogno di un Phoenix 2.0.
Immagine di credito: Régis Leroy su Flickr