Kein Folientitel

Werbung
eclipse - Entwicklungsumgebung und
mehr
ETIS SS05
Gliederung
• Motivation
• Geschichte
• Architektur
– Platform Runtime
– Eclipse Platform
– Java Development Tools (JDE)
– Plugin Development Environment (PDE)
• Zusammenfassung
eclipse
ETIS SS05 Nadine Fröhlich
2
Motivation
• Was ist eclipse?
– open source Entwicklungsumgebung
• Deckt viele OS ab (Windows, Linux, Solaris,...)
• Sprachneutral (Java, C, Cobol, …)
– erweiterbare Plattform für die Werkzeugintegration
• gesamter Softwarelebenszyklus abdeckbar
• bringt Entwicklungsumgebung für Erweiterungen gleich mit
– beinhaltet neue GUI für Java-Applikationen
– Framework für Anwendungsentwicklung
eclipse
ETIS SS05 Nadine Fröhlich
3
Geschichte
• Als kommerzielle Version von OTI + IBM geplant
• Entwicklung ab April 1999
• 2001 Version 1.06 an open source -Gemeinde
übergeben
• aktuell: 3.0.2 (3.1M6)
• Kommunikationsplattform: http://www.eclipse.org
• große + sehr aktive Community
• Eclipse foundation: IBM, Borland, BEA, Intel, HP, SAP,
...
eclipse
ETIS SS05 Nadine Fröhlich
4
Entwicklungsumgebungen
• Welche IDEs kennt ihr noch?
– JBuilder, NetBeans, IntelliJ IDEA, WSAD, …
• Wann bzw. warum setzt man IDEs anstatt einfacher
Editoren ein?
– große Projekte
– heute Software benötigt, die gesamten Softwarelebenszyklus möglichst nahtlos unterstützt
• Installation, Einarbeitung, Datenaustausch, Teamwork, ...
erleichtert
• Anpassbarkeit
– Refactoring, Debugging, Code-Schablonen, Syntaxcheck,
Code Completion, Hovering
eclipse
ETIS SS05 Nadine Fröhlich
5
Architektur (I)
• Übliche IDE-Architektur
– monolithisch => Erweiterungen nur wie
vorgesehen
– Erweiterungen wirken oft fremd
Extensions
IDE
• Eclipse:
– Bestandteile: Plugins + Platform Runtime
– Plugins nutzen Plugins
– Endanwender richten eigene Umgebung
ein (Installieren + Deinstallieren Plugins)
– Erweiterung Teil der Philosophie
eclipse
ETIS SS05 Nadine Fröhlich
Extensions
IDE
Run-time kernel
6
Architektur (II)
• Plugins:
– zwingend: Plugin-Manifest (plugin.xml)
• Deklaration
• beschreibt Konfiguration des Plugins
• beschreibt Integration des Plugins in die Plattform, d.h.
welche Erweiterungspunkte genutzt, welche bereitgestellt
– optional: Java-Archiv
• Implementierung
– optional: Resourcen
• Bilder
• Hilfetexte
• ...
eclipse
ETIS SS05 Nadine Fröhlich
7
Architektur (III)
(OSGI)
eclipse
ETIS SS05 Nadine Fröhlich
8
Platform Runtime
• Kern, kein Plugin (aber formal als Plugin angelegt)
• definiert Plugin Infrastruktur
• entdeckt beim Start verfügbare Plugins
• managt Laden der Plugins (lazy loading)
– nur geladen, wenn benötigt
– verfügbare Funktionalität vor Laden sichtbar (Manifest)
• seit eclipse 3 OSGI
– offener Standard
(OSGI)
– ermöglicht Zufügen und Entfernen von Plugins ohne
Neustart von eclipse
eclipse
ETIS SS05 Nadine Fröhlich
9
Eclipse Platform
• Kernkomponenten,
stellen domänenspezifische
Basisfunktionalität
zur Verfügung
eclipse
ETIS SS05 Nadine Fröhlich
10
Eclipse Platform - Workspace
• Workspace
– besteht aus
Projekten
(jeweils auf ein
Verzeichnis im
Workspace
abbildbar )
– alle Werkzeuge
arbeiten mit
Ressourcen aus
Workspace des
Nutzers
eclipse
ETIS SS05 Nadine Fröhlich
11
Eclipse Platform - Workbench
• Workbench
– Implementiert BNO
– Zusammenspiel
von Editoren,
Sichten,
Perspektiven
eclipse
ETIS SS05 Nadine Fröhlich
12
Workbench (2.1.2)
Perspektive
Editor
View
View
eclipse
ETIS SS05 Nadine Fröhlich
13
Workbench (3.0.1)
Perspektive
Editor
View
View
eclipse
ETIS SS05 Nadine Fröhlich
14
Eclipse Platform - SWT
• SWT (Standard
Widget Toolkit)
– Bereitstellung
GUI-Komponenten (Button,
Trees, ...)
– OS-unabhängige
API
– nutzt plattformeigene Widgets
oder emuliert
diese
eclipse
ETIS SS05 Nadine Fröhlich
15
Eclipse Platform - SWT
Eclipse auf
Windows XP
eclipse
Eclipse auf
Mac OS X (Carbon)
ETIS SS05 Nadine Fröhlich
Eclipse auf
Linux (Motif)
16
Eclipse Platform - JFace
• JFace
– Framework zur
Gestaltung
grafischer Oberflächen (windowsystem unabhängig)
– Trennung von
Modell und
Darstellung
– bettet SWT in
EclipseFramework
eclipse
ETIS SS05 Nadine Fröhlich
17
Eclipse Plattform - weitere
Komponenten
• Help
– Als Webserver
implementiert,
HTML-Hilfeseiten
• Debug
• Team
– Basis für Versionsund
Konfigurationsmanagement
– gleichzeitige
Nutzung von
Ressourcen
innerhalb Team
eclipse
ETIS SS05 Nadine Fröhlich
18
Java Development Tools (JDT)
• Fügen zu Eclipse eine
vollständige Java IDE hinzu
• JDT-Core: nicht grafischer Teil
des JDT (z.B. Compiler)
• JDT-UI: Java-Editor + GUIs
• JDT Debug / Debug-UI
• JDT Launching: Start von
Anwendungen
• JUnit: Test- Framework
eclipse
ETIS SS05 Nadine Fröhlich
19
Plugin Development Environment
(PDE)
• PDE: IDE für PluginEntwicklung
• ohne PDE: Plugin-Entwicklung
recht schwierig
• basiert auf Eclipse Platform +
JDT
• kann eigene Eclipse-Instanz
starten (Test, Debug)
eclipse
ETIS SS05 Nadine Fröhlich
20
Zusammenfassung
• open source Entwicklungsumgebung
– Nachteil: Standardeditoren müssen z.T. als Plugins
nachgerüstet werden (JSP, XML)
• Plattform für Werkzeugintegration
– Anpassbarkeit + Erweiterbarkeit durch wiederverwendbare Komponenten
• Werkzeug für schnelle effiziente
Werkzeugimplementierung
– Große Community z.Z. > 800 Plugins
• beinhaltet neue GUI für Java-Applikationen
• Eclipse auch als Application Framework nutzbar
eclipse
ETIS SS05 Nadine Fröhlich
21
Literatur
•
Backschat, M., Edlich, J2EE-Entwicklung mit Open-Source-Tools,
Spektrum Akademischer Verlag, München, 2004
•
http://www.eclipse.org/eclipse/presentation/eclipseslides_files/frame.htm
•
Eclipse Homepage: www.eclipse.org
•
Eclipse Plattform Technical Overview. Object Technology
International, Inc., 02/2003
•
Markus Weyerhäuser: Die Programmierumgebung Eclipse.
JAVASpektrum, 02/2003
•
Gamma, E., Beck, K., Contributing to eclipse, Addison-Wesley,
Bosten, 2004
•
Daum, B., Java-Entwicklung mit Eclipse 3, dpunkt.verlag,
Heidelberg, 2005
eclipse
ETIS SS05 Nadine Fröhlich
22
Herunterladen