Graphical Editing Framework

Graphical Editing Framework
Eclipse
Eclipse-Logo

Eclipse mit Wiki-Plugin
Basisdaten
Entwickler: Eclipse Foundation
Aktuelle Version: 3.4.2 Ganymede
(11. Februar 2009)
Betriebssystem: plattformunabhängig
Programmiersprache: Java
Kategorie: IDE
Lizenz: EPL (früher CPL)
Deutschsprachig: teilweise, über Sprachpakete
eclipse.org

Eclipse ist ein Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Die bekannteste Verwendung ist die Nutzung als Entwicklungsumgebung (IDE) für die Programmiersprache Java. Aber auch für die Entwicklung von Rich-Client-Applikationen auf Basis der Eclipse Rich Client Platform (RCP) wird es zunehmend häufiger eingesetzt. Eclipse ist nicht auf Java festgelegt und wird aufgrund seiner offenen Plug-in-basierten Struktur mittlerweile für sehr unterschiedliche Entwicklungsaufgaben eingesetzt. Für Eclipse existieren eine Vielzahl von Plug-ins sowohl von Open-Source-Projekten als auch kommerziellen Anbietern.

Eclipse selbst basiert auf Java-Technologie, seit Version 3.0 konkret auf einem OSGi-Framework namens Equinox.

Inhaltsverzeichnis

Geschichte

Eclipse ist der Nachfolger von IBM Visual Age for Java 4.0. Der Quellcode für Eclipse wurde am 7. November 2001 von IBM freigegeben. Etwa die Hälfte der derzeitig am Eclipse-Basisframework arbeitenden Entwickler werden weiterhin von IBM bezahlt. Am 2. Februar 2004 beschloss das von IBM geführte Eclipse-Konsortium die Gründung der rechtlich eigenständigen Eclipse Foundation, die seitdem für die Entwicklung von Eclipse verantwortlich ist.

Eclipse unterstützt die Java-Version 5 seit Version 3.1 und Java 6 seit Version 3.2. Ab 2006 wurden die Veröffentlichungstermine neuer Versionen der wichtigsten Eclipse-Komponenten harmonisiert, um Versionskonflikte zu vermeiden und Eclipse-Anwendern die Nutzung zu erleichtern.

So wurden in den Jahren 2006 (Projektname Eclipse Callisto) mit Eclipse 3.2 und 2007 (Eclipse Europa) mit Eclipse 3.3 jeweils am 30. Juni eine große Anzahl an einzelnen Eclipse-Projekten in verschiedenen Programmpaketen zusammengefasst und veröffentlicht.[1][2] Turnusgemäß wurde am 25. Juni 2008 die Version 3.4 (Projektname Eclipse Ganymede) freigegeben.[3]

Die Nachfolgeversion 3.5 – Projektname Galileo – befindet sich derzeit in Entwicklung.[4] Geplanter Releasetermin ist der 26. Juni 2009.[5]

Architektur

Bis einschließlich zur Version 2.1 war Eclipse als erweiterbare IDE konzipiert. Seit Version 3.0 ist Eclipse selbst nur der Kern, der die einzelnen Plug-ins lädt, die dann die eigentliche Funktionalität zur Verfügung stellen. Diese Funktionalität basiert auf dem OSGi-Standard. Sowohl Eclipse als auch die Plugins sind vollständig in Java implementiert. Zur Erstellung der grafischen Oberfläche wurde SWT verwendet. Zur Darstellung der GUI-Komponenten basiert SWT ähnlich wie AWT auf den nativen GUI-Komponenten des jeweiligen Betriebssystems. Eclipse ist daher nicht plattformunabhängig, wird aber für 14 verschiedene Systeme und Architekturen bereitgestellt. Die Plug-ins lassen sich durch einen Download direkt von einem Update-Server oder durch einfaches Entpacken installieren.

Das frei verfügbare Eclipse SDK umfasst die Eclipse Plattform, Werkzeuge zur Java-Entwicklung (Java Development Tools JDT) und die Umgebung zur Entwicklung von Eclipse-Plug-ins (Plug-in Development Environment PDE).

Rich Client Platform

Eclipse bietet die Rich Client Platform, welche es Anwendungsentwicklern ermöglicht, basierend auf dem Eclipse Framework von der Eclipse-IDE unabhängige Anwendungen zu schreiben. Beispielsweise basieren IBM Workplace Clients und der BitTorrent-Client Vuze (ehem. Azureus) auf Eclipse RCP.

Die folgenden Komponenten (Plug-ins) werden mindestens für ein Eclipse-Rich-Client-Platform-Programm benötigt:

Weitere Komponenten, wie das Hilfesystem oder das automatische Updatesystem, können auch eingesetzt werden.

Oberfläche

Die Oberfläche von Eclipse bietet verschiedene Konzepte, um die Arbeit mit Quelltexten oder anderen Ressourcen zu vereinfachen.

Sichten (Views)

Sichten (Views) sind bei Eclipse kleine Fenster, welche Aufgabenbereiche unter verschiedenen Sichtweisen anzeigen. Diese Fenster können durch Drag and Drop beliebig angeordnet werden, in Form von Tabs, die durch Klick auf den Reiter aktiviert werden, in Form von dauerhaft sichtbaren Fenstern oder in Form von fast views, die als Symbole in einer weitgehend frei positionierbaren Leiste angeordnet sind und die nur bei Klick auf das Symbol eingeblendet werden.

Beispiele für Views sind

  • die (auch aus den meisten anderen Editoren bekannte) Navigator-View, die die im Projektverzeichnis enthaltenen Dokumente anzeigt.
  • der Klassenexplorer, der baumartig strukturiert Symbole für die Klassen, Funktionen, Variablen, Importe eines geöffneten Quelltextes anzeigt oder
  • das Suchfenster, das die Ergebnisse einer Suche auflistet.

Editoren

Editoren sind die Sichtfenster, die meist den Quelltext mit Syntaxhervorhebung anzeigen, wobei es meist für jede unterstützte Programmiersprache einen eigenen Editor gibt (zum Beispiel für Java, C, PHP, Python, HTML, aber auch einen einfachen Texteditor). Genauso gibt es aber auch visuelle Editoren (beispielsweise UML-Editoren oder Drag-and-Drop-Editoren für die Erstellung von grafischen Benutzeroberflächen), oder solche, die Baumstrukturen anzeigen (zum Beispiel der XML-Editor). Sie nehmen naturgemäß in der Regel den meisten Raum des Programmfensters ein. Mehrere geöffnete Quelltexte werden als Reiter geöffnet, die über Tabs am oberen Rand in den Vordergrund gebracht werden können, weiterhin können Tabs fixiert werden, so dass der zugehörige Quelltext nicht versehentlich geschlossen wird. Auch Editoren können weitgehend frei per Drag and Drop angeordnet werden. Eine Datei kann in mehreren Editoren gleichzeitig geöffnet werden.

Interaktive Funktionalitäten sind bei den Editoren für Programmiersprachen meist vorhanden:

  • Im Java-Editor kann durch Strg+Linksklick auf einen Funktionsaufruf direkt zu der Deklaration der entsprechenden Funktion gesprungen werden. Fährt man mit dem Mauszeiger über ein Element, für das Quelltext-Dokumentation vorhanden ist, so wird diese in einem Pop-up-Fenster angezeigt.
  • Wird der Cursor auf eine Variable gesetzt, so werden diese und alle weiteren Vorkommen derselben im Dokument farbig unterlegt, in einer Leiste am rechten Rand des Editors werden sie als kleine farbige Striche angezeigt, die als Links zu den entsprechenden Stellen im Quelltext fungieren.
  • Häufig wird Code-Faltung unterstützt.
  • Unterstützung von Quellcodevervollständigung mittels Strg+Leertaste.
  • Frei konfigurierbare Code-Vorlagen mit Variablenunterstützung und Kontextzuordnung.
  • Unterschiede des geöffneten Quelltextes zur auf der Festplatte gespeicherten Version, sowie Zeilennummerierung werden in einer Leiste am linken Rand farbig hervorgehoben.
  • Viele Editoren unterstützen eine konfigurierbare automatische Codeformatierung, die des Java-Editors ist die am weitesten entwickelte.

Allerdings verfügt Eclipse standardmäßig nicht über eine Funktionalität zum automatischen Umbrechen von langen Codezeilen. Es existiert jedoch ein nachinstallierbares Plugin namens Wordwrap, das diese Aufgabe erledigt.

Perspektiven

Perspektiven sind vollständige Anordnungen von Menü- und Symbolleisten, Views und Editoren. Sie sind weitgehend konfigurierbar und benutzerdefinierte Konstellationen können gespeichert und geladen werden. Meistens bringen Plugins, die man nachinstalliert, vorkonfigurierte Perspektiven mit, die dann den eigenen Wünschen entsprechend angepasst werden können.

Erweiterungen

Für die Eclipse-IDE wurden schon zahlreiche Erweiterungen geschrieben, teils proprietär, teils frei verwendbar. Primär wird Eclipse als Java-IDE verwendet, dabei kommen vor allem die in den Java Development Tools zusammengefassten Plug-ins zum Einsatz. Es existieren aber etliche Plug-ins für andere Sprachen oder zur Entwicklung von OSGi-Bundles. Dazu zählt vor allem das CDT-Projekt (C/C++ Development Tooling), das C und C++ unterstützt, jedoch nur die GNU Compiler Collection abdeckt. Darüber hinaus gibt es auch Plug-ins für Perl, PHP, ColdFusion, Ruby, Python, C#, Fortran usw. Diese können auf bequeme Art und Weise über ein Menü in Eclipse eingebunden werden. Neben Plug-ins für konkrete Programmiersprachen gibt es auch solche, die allgemeine Entwicklungsprozesse unterstützen, wie beispielsweise Mylyn für „aufgabenorientierte Entwicklung“. Oft sind diese Ergänzungen - anders als das Kernprogramm - nur auf Englisch erhältlich.

Neben den Java Development Tools gibt es viele weitere Projekte, die ebenfalls auf der Eclipse-Website koordiniert werden. Ein solches Projekt ist das Eclipse Tools Project, das verschiedene Hilfsmittel entwickelt, die von Entwicklern erweitert werden können. Weitere Projekte sind das Eclipse Modeling Framework (EMF) und das Graphical Editing Framework (GEF). Mit EMF lässt sich ein Datenmodell erstellen, das zum Beispiel auf UML basieren kann. GEF ist ein Projekt, das es Entwicklern erlaubt, mit Hilfe eines existierenden Datenmodells schnell einen grafischen Editor zu erstellen.

Compiler

  • GCJ Builder Plug-in (benötigt unter Windows die MinGW-Umgebung)

Beteiligte Firmen

Die Eclipse Foundation wird durch ihre Mitgliedsorganisationen unterstützt. Dabei werden drei Arten von Mitgliedschaft unterschieden: Strategische Mitglieder, Mitglieder, die Add-ins bereitstellen und assoziierte Mitglieder. Die Strategischen Mitglieder sind entweder Strategische Entwickler (Strategic Developers) oder Strategische Abnehmer (Strategic Consumers). Strategische Entwickler sind folgende Unternehmen (Stand Juni 2008)[6][7]:

  • DevZuz
  • IBM
  • Innoopract

Strategische Abnehmer sind Hewlett-Packard und SAP.

Verfügbare Systeme und Architekturen

Einzelnachweise

  1. Eclipsepedia: Callisto. (http://wiki.eclipse.org/Callisto ; Stand: 15. Februar 2009). 
  2. Eclipsepedia: Europa. (http://wiki.eclipse.org/Europa ; Stand: 15. Februar 2009). 
  3. Eclipsepedia: Ganymede. (http://wiki.eclipse.org/Ganymede ; Stand: 15. Februar 2009). 
  4. Eclipsepedia: Galileo. (http://wiki.eclipse.org/Galileo ; Stand: 15. Februar 2009). 
  5. Eclipse.org: Project Plan Galileo. (http://www.eclipse.org/projects/project-plan.php?projectid=galileo ; Stand: 15. Februar 2009). 
  6. eclipse.org: Strategic Members. (http://www.eclipse.org/membership/showMembersWithTag.php?TagID=strategic online ; Stand: 4. Juni 2008). 
  7. innoopract: press release. (http://www.innoopract.com/en/news-events/news-press-releases/article/innoopract-becomes-strategic-member-of-the-eclipse-foundation.html ; Stand: 5. März 2008). 

Literatur

Bücher

  • Ralph Steyer: Jetzt lerne ich Eclipse., Markt und Technik, ISBN 3-8272-6764-1
  • Ulrich Cuber: Einstieg in Eclipse 3, Galileo Computing, ISBN 3-8984-2552-5
  • Kai Brüssau, Oliver Widder (Hrsg.): Eclipse – Die Plattform, Software & Support, ISBN 3-935042-54-X
  • Ramin Assisi: Eclipse 3, Hanser Fachbuchverlag, ISBN 3-446-22865-9
  • Berthold Daum: Java-Entwicklung mit Eclipse 3.3, dpunkt.verlag, ISBN 978-3-89864-504-1
  • Kent Beck, Erich Gamma: Contributing to Eclipse, Addison-Wesley, ISBN 0-3212-0575-8
  • Gottfried Wolmeringer: Java 6 lernen mit Eclipse, Galileo Computing, ISBN 3-89842-872-9
  • Berthold Daum: Rich-Client-Entwicklung mit Eclipse 3.3, dpunkt.verlag, ISBN 978-3-89864-503-4
  • Michael Seeboerger-Weichselbaum: Programmieren mit Eclipse 3, mitp, ISBN 3-8266-7379-4
  • Thomas Künneth: Einstieg in Eclipse 3.4, Galileo Computing, ISBN 978-3-8362-1317-2

Zeitschriften

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Graphical Editing Framework — (GEF) is a framework that was developed for the Eclipse platform. It is known as a framework with a very steep learning curve, but it offers some benefits.GEF consists of the following components *draw2d has to be used for the View components *… …   Wikipedia

  • Graphical Editing Framework — Тип фреймворк среды Eclipse для создания графического интерфейса Разработчик …   Википедия

  • Graphical Modeling Framework — Infobox Software name = Graphical Modeling Framework developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse… …   Wikipedia

  • Eclipse Modeling Framework — Тип Software development Разработчик Eclipse Foundation Написана на Java Операционная система Cross platform …   Википедия

  • Eclipse Modeling Framework — Infobox Software name = Eclipse Modeling Framework developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse… …   Wikipedia

  • Falcon Framework — The Falcon Framework (or the Falcon Framework for Concurrent Design) was Mentor Graphics second generation software environment. Whereas their original environment had been Pascal based and ran exclusively on the Apollo/Domain platform, the… …   Wikipedia

  • Eclipse (среда разработки) — У этого термина существуют и другие значения, см. Eclipse. Eclipse …   Википедия

  • List of Eclipse projects — The following is a list of notable projects and plugins for the Eclipse IDE.Official Eclipse projectsThese projects are maintained by the Eclipse community and hosted by the Eclipse Foundation.Core projects* Rich Client Platform (… …   Wikipedia

  • Generic Eclipse Modeling System — Infobox Software name = Generic Eclipse Modeling System developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse …   Wikipedia

  • Gef. — Die Abkürzung GEF steht für: Global Environment Facility, dt. Globale Umweltfazilität, eine Organisation die bei Vorhaben in Entwicklungsländern Belange des globalen Umweltschutzes berücksichtigt Graphical Editing Framework, ein Framework zur… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”