Eclipse ist eine Plattform, die von Grund auf für die Erstellung integrierter Tools für die Web- und Anwendungsentwicklung konzipiert wurde. Hinsichtlich des Entwurfs bietet die Plattform selbst keine besonders umfangreiche Funktionalität für den Endbenutzer. Der Wert der Plattform liegt darin, was durch sie ermöglicht wird, nämlich die schnelle Entwicklung integrierter Funktionen, die auf einem Plug-in-Modell basiert.
Eclipse bietet ein allgemeines Benutzerschnittstellenmodell für die Arbeit mit Tools. Sie kann auf mehreren Betriebssystemen eingesetzt werden und bietet stets eine robuste Integration in das zu Grunde liegende Betriebssystem. Plug-ins können Programmierungen für die portierbaren APIs von Eclipse bereitstellen und auf allen unterstützten Betriebssystemen unverändert ausgeführt werden.
Der Kern von Eclipse ist eine Architektur für die dynamische Erkennung von Plug-ins. Die Plattform verarbeitet die Logistik der Basisumgebung und stellt ein Standardmodell für die Benutzernavigation zur Verfügung. Jedes Plug-in kann sich dann auf eine kleine Anzahl von Tasks konzentrieren. Zu diesen Tasks können das Definieren, Testen, Animieren, Publizieren, Kompilieren, Beheben von Fehlern, Erstellen von Diagrammen und vieles mehr gehören. Ihren Ideen sind keine Grenzen gesetzt.
Die Eclipse-Plattform definiert eine offene Architektur, damit jedes Team, das Plug-ins entwickelt, den bestehenden Erfahrungsschatz nutzen kann. Fachleute für Repositories können die Back-Ends erstellen, wohingegen die Erstellung der Endbenutzertools durch die Spezialisten für die Benutzerfreundlichkeit vorgenommen wird. Wenn die Plattform gut konzipiert ist, können wichtige neue Funktionen und Integrationsstufen hinzugefügt werden, ohne dass sich dies auf andere Tools auswirkt.
Die Eclipse-Plattform verwendet das Modell einer allgemeinen Workbench, in die die Tools aus der Sicht des Endbenutzers integriert werden. Von Ihnen entwickelte Tools können mit Hilfe von genau definierten Hooks, den so genannten Erweiterungspunkten, in die Workbench integriert werden.
Die zu Grunde liegende Plattformlaufzeit verwendet dasselbe Erweiterungsmodell, damit Plug-in-Entwickler eine Unterstützung für zusätzliche Dateitypen und angepasste Installationen wie beispielsweise Webserver, Workgroup-Server und Repositories hinzufügen können. Die Artefakte für jedes Tool (z. B. Dateien und andere Daten) werden durch ein allgemeines Ressourcenmodell der Plattform koordiniert.
Die Plattform bietet dem Benutzer eine einheitliche Methode für das Arbeiten mit den Tools und stellt eine integrierte Verwaltung der Ressourcen bereit, die von Benutzern durch Plug-ins erstellt werden können.
Auch Plug-in-Entwickler profitieren von dieser Struktur. Die Plattform verwaltet die Komplexität unterschiedlicher Laufzeitumgebungen, z. B. unterschiedlichen Betriebssysteme oder Workgroup-Serverumgebungen. Plug-in-Entwickler können sich ganz auf ihre eigentliche Aufgabe konzentrieren und müssen sich nicht um diese Integrationsfragen kümmern.
Die Eclipse-Plattform selbst ist in Form von Subsystemen strukturiert, die in einem oder mehreren Plug-ins implementiert werden. Die Subsysteme werden zusätzlich zu einer relativ kleinen Steuerkomponente für die Laufzeit erstellt.
Die Subsysteme definieren Erweiterungspunkte, an denen der Plattform ein bestimmtes Verhalten hinzugefügt werden kann. Die folgende Tabelle beschreibt die wichtigsten Laufzeitkomponenten der Plattform, die durch eines oder mehrere Plug-ins implementiert werden.
Plattformlaufzeit |
Definiert das Modell für Erweiterungspunkte und Plug-ins. Diese Komponente kann Plug-ins dynamisch erkennen und verwaltet die Informationen in einer Plattformregistrierung. Die Plug-ins werden dann gestartet, wenn dies auf Grund einer Benutzeraktion in der Plattform erforderlich ist. |
Ressourcenverwaltung (Arbeitsbereich) |
Definiert die API zur Erstellung und Verwaltung von Ressourcen (Projekte, Dateien und Ordner), die durch Tools erzeugt und im Dateisystem abgelegt werden. |
Workbench-Benutzerschnittstelle |
Implementiert das "Benutzer-Cockpit" für die Navigation in den Ressourcen und die Verwendung der Tool-Plug-ins. Diese Komponente definiert Erweiterungspunkte für das Hinzufügen von Benutzerschnittstellenkomponenten wie beispielsweise Sichten oder Menüaktionen. Sie enthält weitere Toolkits (JFace und SWT), mit denen Benutzerschnittstellen erstellt werden können. |
Hilfefunktion |
Definiert Erweiterungspunkte für Plug-ins, die Hilfetexte oder andere Dokumentation wie Onlinebücher zur Verfügung stellen. |
Teamunterstützung |
Definiert ein Modell für die Teamprogrammierung, mit dem Ressourcen verwaltet und versioniert werden können. |
Debugunterstützung |
Definiert ein sprachenunabhängiges Debugmodell und Benutzerschnittstellenklassen für die Erstellung von Debuggern und Startprogrammen. |
Die sofort einsatzfähige Basisplattform ist eine integrierte Entwicklungsumgebung (Integrated Development Environment - IDE), die nicht für einen besonderen Zweck entwickelt wurde und daher universell einsetzbar ist.
Die Funktionalität der Plattform wird letztendlich durch die Plug-ins bestimmt. Aus diesem Grund wird Eclipse SDK mit zusätzlichen Plug-ins ausgeliefert, die die Funktionalität von SDK erweitern.
Ihre eigenen Plug-ins können eine Unterstützung für die Bearbeitung und Verarbeitung zusätzlicher Ressourcentypen wie beispielsweise Java-Dateien, in C geschriebene Programme, Word-Dokumente, HTML-Seiten und JSP-Dateien bereitstellen.