13Sep
Firefox 57, o Quantum, è qui, ed è un enorme miglioramento. Firefox ha finalmente raggiunto Chrome in termini di velocità, l'interfaccia è molto più pulita e ci sono alcune nuove fantastiche funzionalità da avviare. Non c'è molto di cui lamentarsi qui.
Sto scherzando. Su internet, c'è sempre qualcosa di cui lamentarsi.
Con Firefox Quantum, il reclamo de jour è che alcune estensioni non funzionano più.Numerose estensioni di alto profilo, tra cui DownThemAll e Greasemonkey, attualmente non funzionano con Quantum. Altri, tra cui Firebug e ScrapBook, probabilmente non funzioneranno mai più.
Questo è frustrante se sei un utente di uno di questi servizi e potresti pensare che sia in qualche modo arbitrario. Non lo è.Piaccia o no, Mozilla sentiva di non avere scelta, ma di abbandonare quelli che chiama componenti aggiuntivi "legacy" per andare avanti. Ecco perché.
Funzionamento delle estensioni legacy di Firefox
Le estensioni tradizionali di Firefox sono state generalmente scritte in XML User Interface Language( XUL).Questa è la lingua con cui l'interfaccia utente di Firefox è stata creata e le estensioni basate su XUL possono modificare direttamente tale interfaccia. Questi add-on avevano anche quasi accesso completo a XPCOM, il potente modello di oggetti componenti utilizzato da Firefox.
Se ti è venuto in mente, sappi solo che: le estensioni di Firefox hanno una capacità più o meno totale di cambiare il tuo browser, e hanno apportato tali modifiche direttamente. Ecco perché quelle estensioni erano così potenti: non c'era un insieme prescritto di cose che potevano e non potevano cambiare.È anche il motivo per cui queste estensioni tendono a rompere con le nuove versioni di Firefox. Le estensioni
per Chrome o Safari non funzionano in questo modo. Questi browser offrono agli sviluppatori di estensioni API specifiche che possono utilizzare, il che significa che c'è un elenco di cose che le estensioni possono e non possono controllare. Per due anni, Firefox ha offerto un'API simile chiamata WebExtensions, che ha incoraggiato gli sviluppatori ad adottare.
Le estensioni tradizionali migliorano Firefox difficile
Firefox Quantam non è il primo aggiornamento a rompere un'estensione: questo è stato un problema in corso da anni. Poiché le estensioni di Firefox potrebbero influenzare Firefox in modo così diretto, è stato possibile persino apportare modifiche minori a Firefox stesso per rompere completamente i componenti aggiuntivi, o semplicemente introdurre bug che riducono le prestazioni. Gli utenti di
Firefox, non sapendo che le estensioni stavano causando il problema, presumevano che la nuova versione di Firefox fosse difettosa, e dal loro punto di vista lo era. Il team di Firefox farebbe del suo meglio per assicurarsi che le estensioni popolari funzionassero prima di spingere una nuova versione, ma è facile immaginare tutto questo rallentamento dello sviluppo.
L'API WebExtensions semplifica tutto ciò specificando specificamente cosa possono fare le estensioni e come possono farlo. Ciò significa che gli sviluppatori devono solo assicurarsi che l'API funzioni correttamente, e non preoccuparsi che una modifica delle prestazioni o un'interfaccia utente interrompano determinate estensioni. Il risultato dovrebbe essere il minor numero di estensioni che si interrompono nel lungo periodo, ma per renderlo possibile, Mozilla aveva bisogno di abbandonare il vecchio ecosistema di estensione.
Il cambiamento rende anche alcune delle migliori caratteristiche di Quantam possibili. La capacità multi-processo, ad esempio, è una parte importante della velocità di Firefox Quantam. Quattro processi separati gestiscono l'interfaccia e le schede di Firefox, il che significa che Firefox può utilizzare tutti e quattro i core del processore invece di uno solo. Questa è una realtà alla quale l'ecosistema di estensione tradizionale semplicemente non è stato costruito, ed è difficile immaginare di farlo funzionare senza un sacco di strati di astrazione che inevitabilmente rallenterebbero le cose. Molte modifiche imminenti a Firefox sono state trattate in modo analogo da componenti aggiuntivi legacy, il che significa che l'ecosistema ha dovuto cambiare per consentire l'evoluzione di Firefox. La compatibilità tra piattaforme
era un problema
Una volta, i componenti aggiuntivi davano alle persone un motivo valido per utilizzare Firefox su Chrome. Al giorno d'oggi, Chrome è di gran lunga il leader in termini di componenti aggiuntivi, mentre Firefox può sembrare un cimitero di estensioni non mantenute negli anni passati.
Certo, ci sono alcune estensioni di Firefox che non puoi ottenere in Chrome, ma Chrome ha l'ecosistema più grande di gran lunga. La nuova API WebExtensions non risolverà la situazione da un giorno all'altro, ma renderà molto più semplice il trasferimento delle estensioni di Chrome a Firefox perché il linguaggio utilizzato per scrivere le estensioni è abbastanza simile da rendere il porting superficiale. In molti casi, sono necessarie solo alcune modifiche per eseguire un'estensione di Chrome in Firefox, il che significa che non c'è motivo per cui le tue estensioni preferite di Chrome non possano venire a Firefox ora se chiedi allo sviluppatore abbastanza bene. Ciò dovrebbe portare a un'ondata di nuove estensioni in un ecosistema che potrebbe usarlo francamente.
Firefox perdeva già gli utenti
Alcuni potrebbero obiettare che Firefox perderà utenti a causa di estensioni non funzionanti, ma vale la pena notare che Firefox stava già perdendo utenti su Chrome ad un ritmo allarmante, ed è stato per anni. La velocità comparativa e la mancanza di alcuni componenti aggiuntivi non stavano aiutando su questo fronte, e Firefox Quantum mira a risolvere entrambi questi problemi.
C'è una possibilità che si ritorcerà contro? Sicuro. Alcune persone salteranno la nave su Chrome, e altri potrebbero cercare antiche forche che mantengano il vecchio ecosistema di estensione. Ma non è come se le cose stessero andando bene prima. Firefox aveva bisogno di evolvere per rimanere rilevante, ed è così che hanno deciso di farlo. Gli sviluppatori di
hanno avuto il tempo di passare alla nuova API
Alcuni utenti non si accorgeranno che questo switch è mai accaduto, perché le estensioni con cui lavorano utilizzano già l'API di WebExtension. Altre estensioni non sono passate.
Ciò potrebbe essere dovuto al fatto che lo sviluppatore ha abbandonato l'estensione molto tempo fa o non ha voglia di riscriverlo per utilizzare l'API.In alcuni casi, l'API non offre un controllo sufficiente per ricreare l'estensione originale, quindi gli sviluppatori stanno abbandonando i loro progetti. E in molti casi, la conversione semplicemente non è ancora finita.
In ogni caso, le estensioni non si rompono perché Mozilla ha cambiato qualcosa all'improvviso. WebExtensions fa parte di Firefox da due anni e la scadenza per l'aggiornamento delle estensioni è stata annunciata un anno fa:
Entro la fine del 2017, e con l'uscita di Firefox 57, passeremo esclusivamente a WebExtensions, e interromperà il caricamento di qualsiasialtri tipi di estensione sul desktop.
Manca ancora un'estensione da cui si dipende? Questo documento di Google sta monitorando diverse estensioni popolari e offre alternative a diversi standard comuni. Questa lista è anche utile.