13Sep

Warum Firefox deine Lieblings-Erweiterung töten musste

Firefox 57 oder Quantum ist hier und es ist eine große Verbesserung. Firefox hat Chrome in puncto Geschwindigkeit endlich eingeholt, die Oberfläche ist viel sauberer und es gibt einige großartige neue Funktionen. Hier gibt es nicht viel zu meckern.

Nur Spaß.Im Internet gibt es immer etwas zu meckern.

Mit Firefox Quantum, die Beschwerde de jour ist, dass bestimmte Erweiterungen nicht mehr funktionieren. Zahlreiche hochkarätige Erweiterungen, einschließlich DownThemAll und Greasemonkey, funktionieren derzeit nicht mit Quantum. Andere, einschließlich Firebug und ScrapBook, werden wahrscheinlich nie wieder arbeiten.

Dies ist frustrierend, wenn Sie ein Benutzer eines dieser Dienste sind und Sie denken, dass es etwas willkürlich ist. Es ist nicht. Ob es ihnen gefällt oder nicht, Mozilla hatte das Gefühl, dass sie keine andere Wahl hatten, als die "Legacy" -Add-ons aufzugeben, um voranzukommen. Hier ist der Grund.

Wie ältere Firefox-Erweiterungen funktionierten

Traditionelle Firefox-Erweiterungen wurden im Allgemeinen in XML User Interface Language( XUL) geschrieben. Dies ist die Sprache, mit der die Benutzeroberfläche von Firefox aufgebaut ist, und XUL-basierte Erweiterungen könnten diese Schnittstelle direkt modifizieren. Diese Add-Ons hatten nahezu vollständigen Zugriff auf XPCOM, das von Firefox verwendete leistungsfähige Komponentenobjektmodell.

Wenn Ihnen das über den Kopf ging, sollten Sie Folgendes wissen: Firefox-Erweiterungen hatten eine mehr oder weniger vollständige Möglichkeit, Ihren Browser zu ändern, und sie haben diese Änderungen direkt vorgenommen. Deshalb waren diese Erweiterungen so mächtig: Es gab keine vorgeschriebenen Dinge, die sie ändern konnten und konnten. Es ist auch der Grund, warum diese Erweiterungen dazu neigten, mit neuen Firefox-Versionen zu brechen.

-Erweiterungen für Chrome oder Safari funktionieren nicht auf diese Weise. Diese Browser bieten den Entwicklern von Erweiterungen spezifische APIs, die sie verwenden können, was bedeutet, dass es eine festgelegte Liste von Dingen gibt, die Erweiterungen kontrollieren können. Seit zwei Jahren bietet Firefox eine ähnliche API mit dem Namen "WebExtensions" an, zu der Entwickler ermutigt haben.

Traditionelle Erweiterungen zur Verbesserung von Firefox Schwierig

Firefox Quantam ist nicht das erste Update, das eine Erweiterung durchbricht: Dies ist seit Jahren ein fortlaufendes Problem. Da Firefox-Erweiterungen Firefox so direkt beeinflussen konnten, war es möglich, selbst geringfügige Änderungen an Firefox selbst vorzunehmen, um Add-Ons komplett zu durchbrechen, oder einfach nur Performance-sapping-Bugs einzuführen.

Firefox-Benutzer, die nicht wussten, dass die Erweiterungen das Problem verursachten, würden annehmen, dass die neue Firefox-Version fehlerhaft ist, und aus ihrer Sicht war es das auch. Das Firefox-Team würde alles tun, um sicherzustellen, dass beliebte Erweiterungen funktionieren, bevor es eine neue Version gibt, aber es ist leicht, sich all diese verlangsamende Entwicklung vorzustellen.

Die WebExtensions-API vereinfacht all dies, indem speziell definiert wird, welche Erweiterungen ausgeführt werden können und wie sie dies tun können. Dies bedeutet, dass Entwickler nur sicherstellen müssen, dass die API ordnungsgemäß funktioniert, und nicht befürchten müssen, dass eine Leistungsoptimierung oder eine Änderung der Benutzeroberfläche bestimmte Erweiterungen unterbricht. Das Ergebnis sollte weniger Erweiterungen auf lange Sicht sein, aber um dies zu ermöglichen, musste Mozilla das alte Extension-Ökosystem aufgeben.

Die Änderung macht auch einige der besten Funktionen von Quantam möglich. Die Multi-Prozess-Fähigkeit zum Beispiel ist ein großer Teil des Geschwindigkeitsschubs von Firefox Quantam. Vier separate Prozesse übernehmen die Benutzeroberfläche und Tabs von Firefox, sodass Firefox alle vier Kerne Ihres Prozessors nutzen kann und nicht nur einen. Dies ist eine Realität, für die das traditionelle Ökosystem der Erweiterung einfach nicht gebaut wurde, und es ist schwer vorstellbar, dass es ohne viele Ebenen der Abstraktion funktioniert, die die Dinge unweigerlich verlangsamen würden. Viele bevorstehende Änderungen an Firefox wurden auf ähnliche Weise durch Legacy-Add-ons zurückgehalten, was bedeutet, dass sich das Ökosystem ändern musste, damit sich Firefox weiterentwickeln konnte.

Cross Platform Compatibility war ein Problem

Es war einmal, Add-ons gaben Menschen einen zwingenden Grund, Firefox über Chrome zu verwenden. Heutzutage ist Chrome bei Add-Ons bei weitem führend, während Firefox sich wie ein Friedhof von nicht mehr gepflegten Erweiterungen aus vergangenen Jahren anfühlt.

Sicher, es gibt ein paar Firefox-Erweiterungen, die Sie in Chrome nicht bekommen können, aber Chrome hat das größere Ökosystem bei weitem. Die neue WebExtensions-API wird dies nicht über Nacht beheben, aber es macht es viel einfacher, Chrome-Erweiterungen auf Firefox zu portieren, weil die Sprache, die zum Schreiben von Erweiterungen verwendet wird, ähnlich genug ist, um die Portierung oberflächlich zu machen. In vielen Fällen sind nur wenige Optimierungen erforderlich, damit eine Chrome-Erweiterung in Firefox ausgeführt werden kann. Es gibt also keinen Grund, warum Ihre bevorzugten Chrome-Erweiterungen jetzt nicht zu Firefox gelangen, wenn Sie den Entwickler freundlich genug fragen. Dies sollte zu einer Flut neuer Erweiterungen in einem Ökosystem führen, das es offen verwenden könnte.

Firefox hat bereits Nutzer verloren

Einige mögen argumentieren, dass Firefox Benutzer aufgrund von kaputten Erweiterungen verlieren wird, aber es ist erwähnenswert, dass Firefox Nutzer bereits seit Jahren mit alarmierender Geschwindigkeit an Chrome verloren hat. Vergleichbare Geschwindigkeit und ein Mangel an bestimmten Add-ons waren nicht hilfreich in diesem Bereich, und Firefox Quantum zielt darauf ab, beide Probleme zu beheben.

Gibt es eine Chance, dass dies fehlschlägt? Sicher. Einige Leute werden nach Chrome springen, andere suchen nach alten Gabeln, die das alte Ökosystem der Erweiterung beibehalten. Aber es ist nicht so, als ob es vorher gut gelaufen wäre. Firefox musste weiterentwickelt werden, um relevant zu bleiben, und so entschieden sie sich dafür.

-Entwickler hatten Zeit, auf die neue API umzustellen

Einige Benutzer werden nicht bemerken, dass dieser Wechsel überhaupt stattgefunden hat, da die Erweiterungen, mit denen sie arbeiten, bereits die WebExtension-API verwenden. Andere Erweiterungen haben nicht geschaltet.

Dies könnte daran liegen, dass der Entwickler die Erweiterung vor langer Zeit aufgegeben hat oder keine Lust hat, die Erweiterung für die API neu zu schreiben. In einigen Fällen bietet die API nicht genügend Kontrolle, um die ursprüngliche Erweiterung neu zu erstellen, sodass Entwickler ihre Projekte aufgeben. Und in vielen Fällen ist die Konvertierung einfach noch nicht abgeschlossen.

Was auch immer der Fall ist, die Erweiterungen brechen nicht, weil Mozilla plötzlich etwas verändert hat. WebExtensions ist seit zwei Jahren Teil von Firefox und die Frist für die Aktualisierung von Erweiterungen wurde vor einem Jahr angekündigt:

Ende 2017 und mit der Veröffentlichung von Firefox 57 werden wir ausschließlich zu WebExtensions wechseln und keine weiteren mehr ladenandere Erweiterungstypen auf dem Desktop.

Sie haben immer noch eine Erweiterung, auf die Sie angewiesen sind? Dieses Google-Dokument verfolgt mehrere beliebte Erweiterungen und bietet Alternativen zu mehreren gängigen Erweiterungen. Diese Liste ist auch nützlich.