Plug-in
aus Wikipedia, der freien Enzyklopädie
Plug-in [ˈplʌgɪn] (häufig auch Plugin; von engl. to plug in „einstöpseln, anschließen“, deutsch etwa „Erweiterungsmodul“) ist eine gängige Bezeichnung für ein Computerprogramm, das in ein anderes Softwareprodukt „eingeklinkt“ wird. Es ergänzt dabei die Software, anders als ein Add-on stellt es jedoch eine eigenständige Software dar.
Inhaltsverzeichnis |
[Bearbeiten] Funktion eines Plug-ins
Softwarehersteller definieren Schnittstellen zu ihren Produkten, mit deren Hilfe Dritte Erweiterungen (Plug-ins) für diese Softwareprodukte programmieren können. Das Plug-in erweitert dann die Funktionalität dieses Softwareprodukts. Plug-ins folgen dabei im Allgemeinen dem Muster der Inversion of Control.
Weit verbreitete Beispiele für Plug-ins sind etwa der Flash Player oder das Java-Plug-in für die verschiedenen Webbrowser. Die ersten Programme, die Plug-ins unterstützten, sind wahrscheinlich Apples HyperCard und Quarks QuarkXPress, die beide 1987 auf den Markt kamen.
Plug-ins sind in der Regel ohne die Anwendung, für die sie geschrieben wurden, nicht funktionsfähig. In seltenen Fällen sind Plug-in-Schnittstellen zu einem Standard avanciert. Beispielsweise liegt einem Scanner üblicherweise ein Plug-in bei, das über die TWAIN-Schnittstelle mit den meisten gängigen Bildbearbeitungsprogrammen funktioniert.
Ein weiterer Standard, in diesem Fall bei Software zur Audiobearbeitung bzw. Musikproduktion, ist die Virtual Studio Technology (VST). Mittlerweile sind einige Hersteller auch dazu übergegangen, optionale Funktionen für ihre Programme selbst in Plug-ins auszulagern. Das hat für den Benutzer den Vorteil, dass er Funktionen, die er nicht braucht, deaktivieren kann und das Programm dadurch schneller oder stabiler läuft.
Bei Spielen gibt es so genannte Mods, mit denen man (Kenntnisse vorausgesetzt) ein eigenes Gameplay unter Verwendung der jeweiligen Game Engine entwickeln kann. Solche Mods können aber größtenteils nicht mehr als Plug-ins aufgefasst werden.
[Bearbeiten] Browser-Plug-ins
In Webbrowsern unterscheidet sich die Funktion der Plug-ins von anderen Programmen:
- Die einheitliche Netscape-API sorgt dafür, dass ein Plug-in in den meisten gängigen Browsern funktioniert. Ausnahme ist der Internet Explorer, für dessen Plug-ins (dort "Add-Ons" genannt) ActiveX verwendet wird.
- "Netscape-Plug-ins" stellen in Websites eingebettete Medien (wie etwa Animationen, Videos oder Musik) dar, die der Webbrowser selbst nicht anzeigen kann. Sie fügen aber (bedingt durch die interoperable API) keine neuen Funktionalitäten zum Browser hinzu. Ausnahme sind wieder die Internet-Explorer-spezifischen Add-Ons, die auch Browser-Erweiterungen enthalten können.
-
- Da die normale Plug-in-Architektur nur zum Anzeigen von in Websites eingebetteten Inhalten geeignet ist und keine Programmmodifikationen zulässt, unterstützt der Browser Mozilla Firefox (und andere Gecko-basierte Software) eine weitere Programmschnittstelle. Diese Browser-Zusätze werden aber, um Verwechslungen zu vermeiden, nicht Plug-ins sondern Erweiterungen genannt.
- Browser-Plug-ins die auf der Netscape-Schnittstelle basieren, sind zwar grundsätzlich browser-, aber nicht betriebssystemunabhängig. Plug-ins für Windows funktionieren also nicht in Browsern auf anderen Betriebssystemen wie Mac OS oder Linux. (Add-Ons des Internet Explorer sind schon allein deshalb an ein Betriebssystem gebunden, weil dieser Browser nur für Windows verfügbar ist.)
[Bearbeiten] Serverplug-ins
Dies sind Programme, welche die Funktionsweise eines Server-Dienstes erweitern. Serverplug-ins werden beispielsweise bei sogenannten Game-Servern (Server für Online-Spiele) eingesetzt. Dort eingerichtet erlauben solche Plug-ins beispielsweise Modifikationen der Spielwelten oder Schutz vor Cheatern. Nur der Administrator eines solchen Servers kann Serverplug-ins installieren.
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- Webbarometer von Webhits (Verbreitungsgrad von Webbrowser-Plug-ins)
- Java Plugin Framework
- OSGi Plugin für Eclipse
- Tutorial zur Erstellung einer Pluginarchitektur in C#