In Firefox gibt es Plugins und Erweiterungen. Könntest du mir bitte erklären, warum diese Addons unterschiedliche Namen und Tabs haben? Unterscheiden sie sich so sehr, dass sie andere Namen brauchen? Ich denke, es ist ein wenig unnatürlich, diese Dinge zu unterscheiden, Erweiterungen haben so viel und mehr Funktionalität, was fehlt ihnen für den Vergleich mit Plugins?Was ist der Unterschied zwischen Firefox-Erweiterung und Plugin?
Antwort
Der Unterschied ist, sowohl historische als auch real:
- Plugins kompiliert werden, ladbare Module, die ursprünglich aus NPAPI abstammen; Sie können außerhalb des Prozessraums des Browsers leben (was zu vielen interessanten Interoperabilitätsproblemen und -fehlern führt). Die gebräuchlichsten Beispiele hierfür sind Flash und Java - beide fordern ein Unterfenster ("viewport" oder "canvas") (nicht HTML5s
canvas
- das ist etwas ganz anderes: ein nativer Teil der Webseite)) innerhalb der Webseite an und behandeln es selbst auf eine Weise, die weitgehend unabhängig vom Browser ist. - Erweiterungen werden meist in JavaScript und XUL geschrieben. Da die Erweiterungen als Teil des Browsers fungieren, haben sie breitere Zugriffsberechtigungen als JS-in-a-webpage, unterliegen jedoch einigen Einschränkungen. Die gebräuchlichste Art der Integration besteht darin, in einen Teil der FF-Funktionalität einzusteigen und extendieren es. So
, obwohl die Plugins und Erweiterungen könnten erscheinen verwandt zu sein, sind sie sehr unterschiedliche Technologien, die hinter den Kulissen.
Laut Mozilla unterstützen Plugins den Browser bei der Anzeige von Inhalten, beispielsweise beim Abspielen von Medien. Erweiterungen fügen dem Browser tatsächlich neue Funktionen hinzu.
Siehe die ersten paar Absätze hier: https://developer.mozilla.org/en/extensions
Imo, diese Antwort ist wertvoller als die angenommene (die zwar genau ist, wird jedoch zu sehr in Implementierungsdetails vertieft und ist schwer zu folgen (teilweise, weil sie verschachtelte Klammern enthält)). Diese Antwort bietet einen Überblick auf hohem Niveau, den jemand, der mit diesen Technologien nicht vertraut ist, verstehen kann. – d512
One-Programme sind, welche Seite an Seite läuft von Firefox. Sie erhalten eine Leinwand und wenn sie auf der Leinwand malen, rendert Firefox sie. Bemerkenswerte Beispiele: Flash, Java, QuakeLive.
Die anderen sind Programme, die im Javascript-Interpreter/Compiler von Firefox ausgeführt werden. Sie erweitern Firefox-Funktionalität direkter, da sie Zugriff auf die firefox Interna haben und nicht nur eine Leinwand sind. Außerdem sind sie viel portabler, da sie nicht so sehr auf die Unterstützung des Betriebssystems angewiesen sind.
Beide Ansätze haben Vor- und Nachteile und lösen verschiedene Aufgaben.
+1. Geringfügige Korrektur: Die Arbeitsfläche eines Plugins wird standardmäßig direkt vom Plug-in gerendert, wobei der Browser vollständig umgangen wird (wobei Flash beispielsweise das Attribut "wmode = transparent" als Umgehung dafür verwendet). – Piskvor
Eine viel genauere Antwort als meine! –
Und jetzt gibt es XUL-Erweiterungen und WebExtensions - die ersten sind anscheinend veraltet, und die letzteren sind anämisch. Yay. – Piskvor