IBM Eclipse
- mit freundlicher Unterstützung von Project Mojo -
1 IBM Eclipse
Wieder eine IDE, die in JAVA entwickelt wurde. Das Eclipse Projekt hat seit einigen Jahren den open source Status und profitierte entscheidend von dieser Entwicklung.
Eclipse ist in erster Linie für die Entwicklung von JAVA Applikationen gedacht, aber nicht ausschließlich dafür. Es ist vielmehr eine generische Plattform, die um neue Funktionalität mittels Plugins erweitert werden kann und Entwicklungswerkzeuge für verschiedenste Inhalte (C, Java, XML, ...) integriert. Für die Java Entwicklung ist das "java development tooling" (jdt) zuständig. Ein entsprechendes Gegenstück für C gibt es auch (cdt).
Die komponentenbasierte Architektur der Eclipse Plattform setzt sich zusammen aus Runtime Modul, Workspace, Workbench, JFace, Team Support und der Hilfe. Diese Kernfunktionalitäten werden durch Plugins erweitert. Das Runtime Modul registriert beim Start alle vorhandenen Plugins. Dabei stellen selbst Workspace, Workbench, etc. Plugins dar.
Mit dem Workspace wird eine Zuordnung von Projekten erreicht. Jedes Projekt wird auf ein Verzeichnis abgebildet und besteht aus verschiedenen Dateien.
JFace stellt Funktionalitäten, wie "actions" und "viewers" zur Verfügung um das User Interface zu erweitern.
Die Workbench hängt von JFace und der SWT API ab. Sie ist vor allem zuständig für die Interaktion der Werkzeuge mit dem Anwender. Editoren zum Öffnen, Bearbeiten und Schließen von Dateien. Ansichten ("Views") stellen Informationen über verschiedene Objekte dar. Editoren und Ansichten werden in Perspektiven zusammengefasst, die Layout und Aktionen bestimmen, dabei kann zwischen verschiedenen Perspektiven umgeschaltet werden.
Ein bereits existierendes Plugin ist das JDT. Darum soll es in den nächsten Abschnitten gehen.
Das JDT verwandelt Eclipse in eine komfortable Java IDE.
Es können Java Projekte mit Quelltexten, (fremden) JAR Archiven, Klassendateien in der typischen package Struktur verwaltet werden. Nicht nur auf Dateiebene kann ein Projekt inspeziert werden, sondern auch auf der Ebene von Java-Symbolen wie Paketen, Klassen, Methoden und Feldern.
Der Editor lässt keine Wünsche offen. Syntaxhervorhebung sogar in javadoc Kommentaren, Quelltextformatierung, Quelltextvervollständigung, kontextsensitive API Hilfe (Einblendung von javadoc Inhalten für das aktuelle Objekt) und kontinuierlich erzeugte Hinweise auf evtl. Kompilierprobleme entlasten bzw. unterstützen den Entwickler bei der Arbeit.
Refactoring Funktionen wie "Extract Method" und "Safe Rename" werden angeboten.
Ein JCK konformer inkrementeller Java Compiler erzeugt die class Dateien. Eclipse erkennt welche Dateien/Fragmente geändert wurden und kompiliert diese entsprechend ("incremental compilation") neu. Wer schon qualvolle Erfahrungen mit C und Makefiles gemacht hat, der weiss diesen Geschwindigkeitsvorteil zu schätzen.
Ausgeführt wird eine Applikation in der vom Entwickler festgelegten JAVA VM. Mit der Unterstützung für unterschiedliche JAVA VMs kann man so gleichzeitig die Laufähigkeit seiner Software testen.
Ausgaben/Eingaben werden über eine IDE interne Konsole getätigt.
Wie in den bereits behandelten IDEs gibt es auch hier einen Debug Modus (JPDA konform). So kann man Schritt für Schritt sein Programm durchgehen, Breakpoints setzen, Threads verfolgen und Variablen beobachten/modifizieren lassen.
Fazit: Eclipse sollte man sich auf jeden Fall anschauen, zumal es frei erhältlich ist und ständig weiterentwickelt wird. Ausserdem ist es kein speziell auf Java ausgerichtetes Tool, sondern frei nach dem Motto: "The Eclipse Platform is an IDE for anything, and for nothing in particular.".
Einen Preis hat die Sache natürlich. Obwohl SWT (für die GUI zuständig) für jede Plattform teilweise native implementiert wird, sollte man sich einen Rechner mit 1GHz und ordentlich Speicher schon gönnen.
Man kann gespannt sein, welche weiteren Anwendungsgebiete die Entwickler community für Eclipse erschliesst.