Eclipse

Bei Eclipse handelt es sich um eine Open-Source-Entwicklungsumgebung, die mit der Zielsetzung der Modularität realisiert wurde. Somit ist Eclipse eine Plattform, die je nach Aufgabenstellung erweitert werden kann. Die Erweiterung der Eclipse-Plattform wird durch Plug-Ins vorgenommen. Ursprünglich als integrierte Entwicklungsumgebung (IDE) ausschließlich für die Programmiersprache Java entworfen, werden heute eine Vielzahl aktueller Sprachen wie C++, PHP, Ruby, Scala und andere durch entsprechende Plug-Ins unterstützt. Weiterhin bildet das Werkzeug auch zusätzliche Prozesse wie die Spezifizierung, den Test und die Verwaltung von verschiedenen Software-Versionen ab.

Die Basis der Software-Architektur von Eclipse ist seit der Version 3.0 analog der Software-Plattform der OSGi ausgerichtet, deren Grundlage die Verwendung von Java-Technologie ist. Die aktuelle Version ist 3.5, die unter dem Projektnamen Galileo im Juni 2009 zur Verfügung gestellt wurde.

Die Entwicklung von Eclipse geht zurück auf einen Quellcode der Firma IBM, die diesen im Jahr 2001 zur weiteren Entwicklung freigab. Dabei wählte IBM das Lizenzmodell Common Public License (CPL). Damit ist es möglich, mit Unterstützung des Open-Source-Werkzeugs Eclipse sogenannte Closed-Source-Software zu entwickeln. Danach verbleibt der Quellcode beim Entwickler, das erstellte Software-Produkt kann somit auch kommerziell verwertet werden. Im Übergang zur heute verantwortlichen - und rechtlich selbstständigen - Eclipse Foundation im Jahr 2004 wurde dieses Modell der Lizensierung beibehalten. Die Eclipse Foundation ist eine Non-Profit-Organisation, die die Entwicklung der Eclipse Software-Plattform koordiniert, ohne jedoch selbst zu entwickeln; die Entwicklung der Software erfolgt extern.

Das Design-Konzept von Eclipse

Das Design-Konzept sah für Eclipse bis zur Entwicklung der Version 3.0 die Realisierung als integrierte Entwicklungsumgebung (IDE) vor. Mit der Version 3.0 änderte sich das Design von Eclipse jedoch grundlegend. Deren Basis bildet nun Equinox, womit ein Framework benannt ist, welches die Spezifikation der OSGi-Software-Plattform ergänzt und um weitere Funktionalitäten implementiert. Diese Plattform basiert auf der Java-Technologie, so dass auch Eclipse in Java implementiert ist. Insbesondere die Möglichkeit der Erweiterung von Eclipse durch zusätzliche Anwendungen wird durch dieses Framework unterstützt. Somit realisiert Eclipse selbst die Kern-Funktionaliät, die dann einzelne Plug-Ins für die eigentliche Anwendung flexibel lädt.

Die frei verfügbare Eclipse-IDE beinhaltet daher neben der sogenannten Rich Client Platform (RCP), die Werk-zeuge zur Java-Entwicklung, die Java Development Tools, sowie die Werkzeuge zur Entwicklung von Plug-Ins, die Plug-In Development Tools.

Eclipse-Architektur

Eclipse-Architektur

Danach besteht Eclipse aus der Platform Runtime, die die grundlegende Infrastruktur für das Zusammenwirken verschiedener weiterer Komponenten darstellt. Darauf baut die Rich Client Platform auf, die wiederum aus verschiedenen Komponenten besteht:

Workbench. Realisiert die Infrastruktur von Eclipse, und stellt alles bereit, was zur Darstellung der grafischen Schnittstelle der sogenannten Perspektive benötigt wird. Perspektiven bestehen aus Sichten sowie Editoren, und stellen die Verbindung zu den Plug-Ins her, die dann die Schnittstellen der Workbench nutzen.

SWT und JFace. Sind Klassenbibliotheken, die für die Entwicklung von grafischen Benutzeroberflächen (GUI) genutzt werden können. Alternativ können Anwendungen auch in Abstract Windowing Toolkit (AWT) oder Swing erstellt werden.

Workspace. Organisiert die Ressourcen des Benutzers. Hier wird jedes Projekt in einem separaten Ordner abgelegt. Dabei werden auch alle Änderungen an den Ressourcen vermerkt sowie diese anderen Werkzeugen wie z.B. der Versionsverwaltung (CVS) mitgeteilt.

Team. Organisiert das Zusammenwirken von Eclipse und Concurrent Versioning System (CVS).

Help. Dient der Erstellung und Präsentation von Hilfetexten, z.B. für selbst entwickelte Plug-Ins.

Dabei bietet die Eclipse-Plattform eine Reihe interessanter Funktionen wie das Refactoring, zum interaktiven Debugging oder zur individuellen Steuerung der Übersetzung.

Zur Erweiterung der Funktionalität von Eclipse werden Plug-Ins eingesetzt. Dadurch entsteht eine individuelle Arbeitsumgebung, bei der verschiedene Werkzeuge - durch die Platform Runtime organisiert - geschlossen zusammenwirken.

Eine häufige Funktion erfüllt Eclipse im Hinblick auf die Entwicklung von Java-Anwendungen, aber es existieren Erweiterungen für eine Reihe von verschiedenen Programmiersprachen wie C, C++, C-Sharp (C#), Ruby, Perl, ColdFusion, Python, Fortran, Scala, Groovy etc. Eclipse beschränkt sich aber nicht auf die Funktion einer reinen Entwicklungsumgebung. So sind u.a. durch unterschiedliche Projekte der Eclipse Foundation zusätzliche interessante Ergänzungen entstanden. So z.B. solche, die Entwicklungsprozesse wie Mylyn (aufgabenorientierte Entwicklung) oder Saros (verteilte Paarprogrammierung) unterstützen. Auch für die Modellierung wurde z.B. mit dem Eclipse Modelling Framework (EMF) ein entsprechendes Projekt organisiert.

Neben den zahlreichen Erweiterungen im Hinblick auf ein Werkzeug, das den Software-Entwicklungsprozess umfassend abbildet, bleiben auch dem Anwender durch die offene Struktur der Plattform vielfältige Möglichkeiten, diese für die eigene Entwicklung von Werkzeugen zu nutzen.

Informationen zum Artikel
Deutsch: Eclipse
Englisch:
Veröffentlicht: 28.10.2013
Wörter: 735
Tags: #Entwicklung, Codierung
Links: Analog, AWT (abstract Windowing toolkit), C++, C-Sharp, CVS (concurrent version system)
1