Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

IBM Eclipse: Unterschied zwischen den Versionen

 
(Gliederung, Links, Formatierung.)
Zeile 1: Zeile 1:
- mit freundlicher Unterstützung von Project Mojo -
+
''Mit freundlicher Unterstützung von Project Mojo.''
  
===1 IBM Eclipse===
+
== Beschreibung ==
  
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.
+
Wieder eine IDE, die in JAVA entwickelt wurde. Das Eclipse Projekt ist seit einigen Jahren [http://www.opensource.org/docs/definition.php Open Source] 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).
+
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 mittels Plugins um neue Funktionalität erweitert werden kann und Entwicklungswerkzeuge für verschiedenste Inhalte (C, Java, XML etc.) integriert. Für die Java Entwicklung ist das java development tooling ([http://eclipse.org/jdt/ jdt]) zuständig. Ein entsprechendes Gegenstück für C gibt es auch ([http://eclipse.org/cdt/ cdt]).
 +
 
 +
== Aufbau ==
 +
 
 +
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.
 +
 
 +
=== Workspace ===
 +
 
 +
Mit dem Workspace wird eine Zuordnung von Projekten erreicht. Jedes Projekt wird auf ein Verzeichnis abgebildet und besteht aus verschiedenen Dateien.
 +
 
 +
=== JFace ===
 +
 
 +
JFace stellt Funktionalitäten, wie "actions" und "viewers" zur Verfügung, um das User Interface zu erweitern.
 +
 
 +
=== Workbench ===
 +
 
 +
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.
 +
<!-- TODO: So umschreiben, dass es für nicht-Eclipse-User auch einen Sinn ergibt.
 +
 
 +
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.
 +
 
 +
-->
 +
 
 +
=== Plugins ===
  
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. <br>
 
Mit dem Workspace wird eine Zuordnung von Projekten erreicht. Jedes Projekt wird auf ein Verzeichnis abgebildet und besteht aus verschiedenen Dateien. <br>
 
JFace stellt Funktionalitäten, wie "actions" und "viewers" zur Verfügung um das User Interface zu erweitern. <br>
 
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.<br>
 
 
Ein bereits existierendes Plugin ist das JDT. Darum soll es in den nächsten Abschnitten gehen.
 
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.
+
== JDT ==
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.<br>
+
 
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.<br>
+
Das [http://eclipse.org/jdt/ 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 inspiziert werden, sondern auch auf der Ebene von Java-Symbolen wie Paketen, Klassen, Methoden und Feldern.
Refactoring Funktionen wie "Extract Method" und "Safe Rename" werden angeboten.
+
 
 +
Der Editor hat umfangreiche Funktionalität:
 +
* Syntaxhervorhebung,
 +
* Quelltextformatierung,
 +
* Quelltextvervollständigung und
 +
* kontextsensitive API-Hilfe (Einblendung von javadoc Inhalten für das aktuelle Objekt).
 +
Kontinuierlich erzeugte Hinweise auf eventuelle Kompilierprobleme entlasten und 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 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.
  
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.<br>
+
Ausgaben/Eingaben werden über eine IDE-interne Konsole getätigt.
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).
+
Wie in anderen IDEs gibt es auch hier einen Debugmodus (JPDA konform). So kann man Schritt für Schritt sein Programm durchgehen, Breakpoints setzen, Threads verfolgen und Variablen beobachten und modifizieren.
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.
+
== Hardwareanforderungen ==
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.".
+
Java-Anwendungen tendieren dazu, das System stärker zu belasten, als ihre nativ kompilierten Gegenstücke, und Eclipse ist keine Ausnahme. 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.
  
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.
+
== 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 folgt dem Motto:
 +
:''The Eclipse Platform is an IDE for anything, and for nothing in particular.''
  
 
Man kann gespannt sein, welche weiteren Anwendungsgebiete die Entwickler community für Eclipse erschliesst.
 
Man kann gespannt sein, welche weiteren Anwendungsgebiete die Entwickler community für Eclipse erschliesst.

Version vom 18. April 2005, 20:14 Uhr

Mit freundlicher Unterstützung von Project Mojo.

Beschreibung

Wieder eine IDE, die in JAVA entwickelt wurde. Das Eclipse Projekt ist seit einigen Jahren Open Source 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 mittels Plugins um neue Funktionalität erweitert werden kann und Entwicklungswerkzeuge für verschiedenste Inhalte (C, Java, XML etc.) 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).

Aufbau

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.

Workspace

Mit dem Workspace wird eine Zuordnung von Projekten erreicht. Jedes Projekt wird auf ein Verzeichnis abgebildet und besteht aus verschiedenen Dateien.

JFace

JFace stellt Funktionalitäten, wie "actions" und "viewers" zur Verfügung, um das User Interface zu erweitern.

Workbench

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.

Plugins

Ein bereits existierendes Plugin ist das JDT. Darum soll es in den nächsten Abschnitten gehen.

JDT

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 inspiziert werden, sondern auch auf der Ebene von Java-Symbolen wie Paketen, Klassen, Methoden und Feldern.

Der Editor hat umfangreiche Funktionalität:

  • Syntaxhervorhebung,
  • Quelltextformatierung,
  • Quelltextvervollständigung und
  • kontextsensitive API-Hilfe (Einblendung von javadoc Inhalten für das aktuelle Objekt).

Kontinuierlich erzeugte Hinweise auf eventuelle Kompilierprobleme entlasten und 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 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 anderen IDEs gibt es auch hier einen Debugmodus (JPDA konform). So kann man Schritt für Schritt sein Programm durchgehen, Breakpoints setzen, Threads verfolgen und Variablen beobachten und modifizieren.

Hardwareanforderungen

Java-Anwendungen tendieren dazu, das System stärker zu belasten, als ihre nativ kompilierten Gegenstücke, und Eclipse ist keine Ausnahme. 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.

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 folgt dem Motto:

The Eclipse Platform is an IDE for anything, and for nothing in particular.

Man kann gespannt sein, welche weiteren Anwendungsgebiete die Entwickler community für Eclipse erschliesst.