Loading AI tools
Entwicklungsumgebung Aus Wikipedia, der freien Enzyklopädie
Eclipse (von englisch eclipse „Sonnenfinsternis“, „Finsternis“, „Verdunkelung“) ist ein open-source Programmierwerkzeug zur Entwicklung von Software verschiedener Art. Ursprünglich wurde Eclipse als integrierte Entwicklungsumgebung (IDE) 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 | |
---|---|
Eclipse mit Willkommensbildschirm | |
Basisdaten | |
Entwickler | Eclipse Foundation[1] |
Erscheinungsjahr | 7. November 2001 |
Aktuelle Version | 4.33.0[2] (11. September 2024) |
Betriebssystem | GNU/Linux[3], macOS[4], Microsoft Windows[5], Solaris[6] |
Programmiersprache | Java[7] |
Kategorie | IDE |
Lizenz | Eclipse Public License |
deutschsprachig | ja |
eclipseide.org |
Eclipse selbst basiert auf Java-Technik, ab Version 3.0 auf dem OSGi-Framework Equinox.
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.[8] 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.[9]
Eclipse unterstützt die Java-Version 5 ab Version 3.1 und Java 6 ab 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.[10]
Der Veröffentlichungszyklus wurde ab Version 2018-09 auf Quartalsaktualisierungen verkürzt, da ab Java 9 nicht mehr alle 3 Jahre, sondern alle 6 Monate eine neue Java Version erscheint. Es folgt nun einem Rolling Release Modell.[11]
Die Projektnamen waren bisher nach Jupitermonden (Callisto, Europa und Ganymede), den Raumsonden Galileo und Helios, die Version 3.7 nach der für Eclipse typischen Farbe Indigo benannt. Die Anfangsbuchstaben der Projektnamen werden ab Version 3.5 in alphabetischer Reihenfolge vergeben.[12] Die Version 3.8 erschien gleichzeitig mit der Version 4.2. Um mit dem schnelleren Release-Zyklus von Java mitzuhalten, wurde 2018 von einem jährlichen Release auf vier Releases pro Jahr umgestellt. Damit wurde auch das Namesschema der Release-Versionen auf „{Jahreszahl}-{Monat}“ vereinfacht, also beispielsweise „2018-09“.
Projektname | Version | Veröffentlichung |
---|---|---|
3.0 | 28. Juni 2004 | |
3.1 | 28. Juni 2005 | |
Callisto | 3.2 | 26. Juni 2006[13][14] |
Europa | 3.3 | 27. Juni 2007[15][14] |
Ganymede | 3.4 | 25. Juni 2008[16] |
Galileo | 3.5 | 24. Juni 2009[17] |
Helios | 3.6 | 23. Juni 2010[18] |
Indigo | 3.7 | 22. Juni 2011[19] |
Juno | 1 | 3.8 und 4.227. Juni 2012[20] |
Kepler | 4.3 | 26. Juni 2013[21] |
Luna | 4.4 | 25. Juni 2014[22][14] |
Mars | 4.5 | 24. Juni 2015[23] |
Neon | 4.6 | 22. Juni 2016[24] |
Oxygen | 4.7 | 28. Juni 2017[25][14] |
Photon | 4.8 | 27. Juni 2018[26][14] |
2018-09 | 4.9 | 19. September 2018[27][14] |
2018-12 | 4.10 | 19. Dezember 2018[28][14] |
2019-03 | 4.11 | 20. März 2019[29][14] |
2019-06 | 4.12 | 19. Juni 2019[30][14] |
2019-09 | 4.13 | 18. September 2019[31][14] |
2019-12 | 4.14 | 18. Dezember 2019[32][14] |
2020-03 | 4.15 | 18. März 2020[33][14] |
2020-06 | 4.16 | 17. Juni 2020[34][14] |
2020-09 | 4.17 | 16. September 2020[35][14] |
2020-12 | 4.18 | 16. Dezember 2020[36][14] |
2021-03 | 4.19 | 17. März 2021[37][14] |
2021-06 | 4.20 | 16. Juni 2021[38][14] |
2021-09 | 4.21 | 15. September 2021[39][14] |
2021-12 | 4.22 | 8. Dezember 2021[40][14] |
2022-03 | 4.23 | 16. März 2022[41][14] |
2022-06 | 4.24 | 15. Juni 2022[42][14] |
2022-09 | 4.25 | 14. September 2022[43][14] |
2022-12 | 4.26 | 7. Dezember 2022[44][14] |
2023-03 | 4.27 | 15. März 2023[45][14] |
2023-06 | 4.28 | 14. Juni 2023[46][14] |
2023-09 | 4.29 | 13. September 2023[47][14] |
2023-12 | 4.30 | 6. Dezember 2023[48][14] |
2024-03 | 4.31 | 13. März 2024[49][50] |
2024-06 | 4.32 | 12. Juni 2024[51][50] |
2024-09 | 4.33 | 11. September 2024[50] |
2024-12 | 4.34 | 4. Dezember 2024[52][50] |
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 englischsprachig. Es gibt jedoch zu jeder Version Babel-Language-Packs, die man sich in den entsprechenden Sprachen als Plug-in installieren kann.[55]
Bis einschließlich zur Version 2.1 war Eclipse als erweiterbare IDE konzipiert. Ab 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, über den „Market Place“, 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).
Eclipse bietet eine Rich Client Platform, welche es Anwendungsentwicklern ermöglicht, basierend auf dem Eclipse-Framework, von der Eclipse-IDE unabhängige Anwendungen zu schreiben.[56]
Die folgenden Komponenten (Plug-ins) werden typischerweise mindestens für eine Eclipse-Rich-Client-Platform-Anwendung verwendet:
Seit der Version 4.0 ist es auch möglich andere UI Technologien als SWT zu verwenden, konkret existiert mit dem Projekt e(fx)clipse eine Implementierung in JavaFX vor.[57]
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 ist in Komponenten (parts) gegliedert, die in Sichten (views) und Editoren (editors) gegliedert werden, wobei die Unterscheidung in view und editor sich an der Nutzung orientiert und nicht technischer Natur ist. Diese Fenster können durch Drag and Drop beliebig angeordnet oder minimiert werden.[58]
Mit Hilfe von views können Daten direkt bearbeitet werden und darunterliegende Datenstrukturen verändert werden.[58]
Beispiele für views sind
Editoren sind die Komponenten, die nur das jeweils geöffnete Datenelement bearbeiten und in denen der Nutzer explizit speichern muss, um Daten zu verändern.[58] Beispiele sind Fenster, die meist den Quelltext mit Syntaxhervorhebung anzeigen, wobei es für viele Programmiersprachen 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, GUI-Builder) oder solche, die Baumstrukturen anzeigen (etwa der XML-Editor). Editoren nehmen normalerweise den meisten Raum des Programmfensters in Anspruch. Mehrere geöffnete Quelltexte werden als Reiter geöffnet, die über Tabs am oberen Rand in den Vordergrund gebracht werden können. Außerdem können Tabs fixiert werden, damit der zugehörige Quelltext nicht versehentlich geschlossen wird. Auch Editoren können weitgehend frei per Drag and Drop angeordnet werden, und eine Datei kann in mehreren Editoren gleichzeitig geöffnet werden.
Oft sind folgende interaktive Funktionen bei den Editoren für Programmiersprachen vorhanden:
Perspektiven sind vollständige Anordnungen von parts. Ein editor bleibt beim Perspektivwechsel erhalten.[58] Perspektiven sind weitgehend konfigurierbar, und benutzerdefinierte Konstellationen können gespeichert und geladen werden. Meistens stellen Plug-ins, die man nachinstalliert, vorkonfigurierte Perspektiven zur Verfügung, die dann den eigenen Wünschen entsprechend angepasst werden können.
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, das C und C++ unterstützt und u. a. die GNU Compiler Collection und die LLVM (-Clang und -GCC) abdeckt. Darüber hinaus gibt es auch Plug-ins für Perl, PHP, ColdFusion, Ruby, Python, C#, Fortran, Ada2005, Scala 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[59] 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 eingestellte 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 notwendigen Teile und Erweiterungen von Eclipse, ohne mit unnötigen Teilen Hauptspeicher und Rechenleistung zu verbrauchen.
Inzwischen gibt es auch Open-Source-Erweiterungen, die eine automatisierte Bereitstellung und Konfiguration erheblich erleichtern. Dazu zählen oasp4j-ide, Oomph und Yatta Profiles.[60]
Seit Version 4.7 integriert Eclipse das Language Server Protocol. Initial profitierten Eclipse Acute für C#, Eclipse Corrosion für Rust und die TextMate Unterstützung für Eclipse.[61]
Die letzte Veröffentlichung mit Unterstützung für die 32-Bit-Architektur war Eclipse 2018-09 (Version 4.9).[62]
In den ersten 10 Jahren verdrängte Eclipse die Konkurrenten JBuilder, OptimalJ, Rational Application Developer, WebGain sowie JDeveloper und besaß zu dem Zeitpunkt in Deutschland über 70 % Marktanteil.[63] Da Eclipse kostenlos angeboten wird und Nutzer auch mehrere IDEs parallel benutzen, ist es schwer, genaue Zahlen zum Marktanteil von IDEs für Java zu ermitteln. Umfragewerte deuten auf einen Marktanteil von Eclipse von 27 % hin. Damit läge es auf Platz 2, hinter der nur teilweise kostenfreien IDE IntelliJ IDEA von JetBrains mit 42 % und vor der kostenlosen IDE Visual Studio Code von Microsoft mit 22 % sowie Netbeans von Oracle mit 5 %. Sonstige IDEs kommen auf einen verschwindenden Marktanteil von zusammen 4 %.[64]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.