Was ist ein Plugin und wie funktioniert das?
Programme können heutzutage oftmals in ihren Funktionen erweitert oder modifiziert werden. Dafür verwendet man Plugins oder Addons – das hat jeder schon mal gehört, aber was genau ist das überhaupt? Und wie wird das technisch realisiert?
Plugins: Am bekanntesten im Browser
Heutzutage findet vieles im Browser statt, also ist jenes Programm auch das, wo man am ehesten auf Erweiterungen, Plugins, Addons oder wie auch immer man das Gebilde nennen möchte, trifft. So lässt sich Chrome via Plugins in seinen Funktionen erweitern. Das ist für all jene interessant, die mehr als nur im Web browsen möchten. Reichhaltige Erweiterungen gibt es für Entwickler, aber auch der normale Nutzer kommt auf seine Kosten. Gängige Beispiele sind Passwort-Manager, die Nutzername und Passwort direkt ausfüllen können oder auch die Google-Office-Suite, die ein Arbeiten ohne aktive Internetverbindung erlaubt.
Auch in anderen Programmen
Nicht nur Browser werden mit Plugins erweitert. Das Konzept ist tatsächlich schon relativ alt und wird vor allem bei Programmen genutzt, die mit verschiedenen Dateiformaten umgehen müssen. Bestes Beispiel: Microsoft Word oder Adobe Photoshop. Ersteres soll auch fremde Formate lesen können, was speziell früher wichtig war, als Hinz und Kunz noch Textverarbeitungsprogramme anbot. Letzteres sollte auch mit RAW-Dateien klarkommen und die sind für jedes Kamera-Modell unterschiedlich, also müssen Plugins her, um die Funktion nachzurüsten. Oder neue Effekte, die ebenfalls auf die Weise realisiert werden.
Wie funktioniert das?
Programme, die mit Plugins erweitert werden können, bieten eine Schnittstelle an. Sie greift in bestimmte Funktionsabläufe ein. Einem Plugin wird so erlaubt, die Funktionen zu modifizieren oder zu erweitern. Beim Photoshop-Beispiel mit den RAW-Dateien wäre das im Import-Modul beim Öffnen einer Datei. Das Schöne an diesem Konzept ist, dass der Entwickler lediglich die Plugin-Schnittstelle dokumentieren muss, der Plugin-Entwickler hingegen benötigt ansonsten keinen Quellcode.
Die Schnittstelle definiert, wie das Plugin grob funktionieren muss, welche Daten bereitgestellt werden und welche als Antwort erwartet werden. Denn um zum Beispiel eine fremde Datei zu öffnen, muss das Plugin eine Datenstruktur zurückgeben, die das Hauptprogramm auch versteht.
Mit der Schnittstelle hat es der Entwickler in der Hand, was prinzipiell erweitert oder gar verändert werden kann. Gibt es die Schnittstelle nur für den Datenim- und –export, kann nichts Anderes verändert werden. Prinzipiell besteht natürlich die Gefahr, dass ein Plugin-Entwickler seine eigene Macht ausnutzt und das Programm unbrauchbar macht oder Schadfunktionen einbaut. Modernere Plugin-Konzepte gehen daher den Weg, dass sie ihre Addons auf Plausibilität prüfen und ggf. den Nutzer fragen, ob die ganzen Zugriffe klargehen. Das sieht man besonders bei Browser-Erweiterungen häufig.