Eclipse (IDE)

Eclipse (IDE)
Eclipse
Eclipse-Logo
Eclipse.png
Eclipse mit Wiki-Plug-in
Basisdaten
Entwickler Eclipse Foundation
Aktuelle Version 3.7 SR1
(23. September 2011)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie IDE
Lizenz EPL (früher CPL)
Deutschsprachig teilweise, über Sprachpakete
eclipse.org

Eclipse (von engl.: eclipse = Sonnenfinsternis, Finsternis, Verdunkelung) ist ein quelloffenes Programmierwerkzeug zur Entwicklung von Software verschiedenster Art. Ursprünglich wurde Eclipse als integrierte Entwicklungsumgebung für die Programmiersprache Java genutzt, aber mittlerweile wird es wegen seiner Erweiterbarkeit auch für viele andere Entwicklungsaufgaben eingesetzt. Für Eclipse gibt es eine Vielzahl sowohl quelloffener als auch kommerzieller Erweiterungen.

Eclipse selbst basiert auf Java-Technik, seit Version 3.0 auf einem sogenannten 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.[1] 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.

Die Version 3.6 (Projektname Eclipse Helios) wurde turnusgemäß am 23. Juni 2010 freigegeben.

Am 22. Juni 2011 wurde die Version 3.7 (Projektname "Eclipse Indigo") zum Herunterladen bereitgestellt, am 23. September die Version 3.7.SR1.

Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version
Projektname Version Veröffentlichung
Ältere Version; nicht mehr unterstützt: 3.0 28. Juni 2004
Ältere Version; nicht mehr unterstützt: 3.1 28. Juni 2005
Callisto Ältere Version; nicht mehr unterstützt: 3.2 30. Juni 2006[2]
Europa Ältere Version; noch unterstützt: 3.3 30. Juni 2007[3]
Ganymede Ältere Version; noch unterstützt: 3.4 25. Juni 2008[4]
Galileo Ältere Version; noch unterstützt: 3.5 24. Juni 2009[5]
Helios Ältere Version; noch unterstützt: 3.6 23. Juni 2010[6]
Indigo Aktuelle Version: 3.7 22. Juni 2011[7]

Die einzelnen Versionen werden jeweils als Grundversion oder als Zusammenstellung aus verschiedenen Programmpaketen veröffentlicht. Einzelne Programmpakete kann man jedoch auch später noch nachinstallieren. Die Benutzeroberfläche von Eclipse ist standardmäßig englisch. Es gibt jedoch zu jeder Version Babel-Language-Packs, die man sich in den entsprechenden Sprachen als Plugin installieren kann.[8]

Projektnamen

Die Projektnamen waren bisher nach Namen der vier Hauptmonde des größten Planeten Jupiter (Callisto, Europa, Ganymede), der Sonne (Helios) oder einer Raumsonde (Galileo) benannt. Die Version 3.7 wurde allerdings nach der für Eclipse typischen Farbe Indigo benannt.

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 Equinox. Sowohl Eclipse als auch die Plug-ins 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 wird für 14 verschiedene Systeme und Architekturen bereitgestellt und gilt somit als plattformunabhängig. Die Plug-ins lassen sich direkt von einem Update-Server oder durch Entpacken einer Installationsdatei 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, eine Übersicht befindet sich auf der Eclipse-Homepage.[9] Beispielsweise basiert IBM Workplace Clients auf Eclipse RCP.

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

Weitere Eclipse-Komponenten, wie das Hilfesystem oder das automatische Aktualisierungssystem, können auch eingesetzt werden. Üblicherweise wird das Eclipse-OSGi-Framework Equinox zum Kombinieren ("bundling") der Komponenten eingesetzt.

Eclipse Runtime Projekt

Das Eclipse-Runtime-Projekt ist als "Top Level"-Projekt angesiedelt und soll die verschiedenen Laufzeitkomponenten bündeln. Basierend auf der OSGi-Implementierung Equinox, entsteht hier ein stetig wachsender "Stack" von Software-Komponenten, der als Basis für Client-Server-orientierte Systeme dient. [10]

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 Fenster, 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 Plug-in 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 Plug-ins, 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, Ada2005 usw. Diese können ü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“ oder Saros [11] für Verteilte Paarprogrammierung. 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), das Graphical Editing Framework (GEF) und die Eclipse Riena Platform (Riena). 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. Riena unterstützt Entwickler bei der Ausstattung einer Anwendung mit einem benutzerfreundlichen Interaktionskonzept und ansprechenden Oberflächenelementen.

Basierend auf diesen Erweiterungen, und dem modularen Aufbau von Eclipse selbst, lassen sich für Projekte spezifische Eclipse-Bundles erstellen. Diese enthalten alle für ein bestimmtes Projekt notwendige Teile und Erweiterungen von Eclipse, ohne mit unnötigen Teilen Hauptspeicher und Geschwindigkeit zu verbrauchen.[12]

Verfügbare Systeme und Architekturen

Einzelnachweise

  1. eclipse.org. (http://www.eclipse.org/org/#about, abgerufen am 15. Januar 2010).
  2. Eclipsepedia: Callisto. (http://wiki.eclipse.org/Callisto, abgerufen am 15. Februar 2009).
  3. Eclipsepedia: Europa. (http://wiki.eclipse.org/Europa, abgerufen am 15. Februar 2009).
  4. Eclipsepedia: Ganymede. (http://wiki.eclipse.org/Ganymede, abgerufen am 15. Februar 2009).
  5. Eclipsepedia: Galileo. (http://wiki.eclipse.org/Galileo, abgerufen am 11. November 2010).
  6. Eclipsepedia: Helios. (http://wiki.eclipse.org/Helios, abgerufen am 11. November 2010).
  7. Eclipsepedia: Indigo. (http://wiki.eclipse.org/Indigo, abgerufen am 22. Juni 2011).
  8. Eclipse Babel Project. (http://www.eclipse.org/babel/downloads.php, abgerufen am 11. November 2010).
  9. eclipse.org/community/rcp.php
  10. http://www.eclipse.org/rt/
  11. Saros - Distributed Collaborative Editing and Pair Programming
  12. Yoxos OnDemand Eclipse Konfigurator

Literatur

Bücher

Zeitschriften

Weblinks

 Commons: Eclipse IDE – Sammlung von Bildern, Videos und Audiodateien

Wikimedia Foundation.

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

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

  • Eclipse (software) — Saltar a navegación, búsqueda Eclipse Captura de Eclipse Desarrollador Eclipse Foundation …   Wikipedia Español

  • Eclipse-Plugin — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse (Software) — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse SDK — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse (Logiciel) — Pour les articles homonymes, voir Eclipse. Eclipse Développeur …   Wikipédia en Français

  • Eclipse (environnement de développement) — Eclipse (logiciel) Pour les articles homonymes, voir Eclipse. Eclipse Développeur …   Wikipédia en Français

  • Eclipse — (englisch für „Finsternis, Verdunkelung“, aus altgriechisch ἔκλειψη) steht für Begriffe aus folgenden Bereichen: Musik The Dark Side of the Moon, Album von Pink Floyd (Arbeitstitel des Albums und ein Musikstück darauf) Eclipse (Yngwie Malmsteen… …   Deutsch Wikipedia

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

  • Eclipse RCP — Rich Client Platform (RCP)  подмножество Eclipse Platform, фреймворк общего назначения, который в отличие от фреймворка инструментов разработчика не содержит «Resources plug in» и «UI», связанных с Resources. Технология появилась в 3 версии… …   Википедия

  • Eclipse Platform — Имеется викиучебник по теме «Eclipse Platform» Eclipse Platform  основной, базовый проект Eclipse, представляет собой несколько java фреймворков, и поддержку подключения плагинов. Разбит на следующие суб проекты: Ant  Eclipse/Ant… …   Википедия

Share the article and excerpts

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