Dank des neu eingeführten Dark Theme spiegelt sich die Sonnenfinsternis, Namensgeber der Eclipse Entwicklungsumgebung, nun auch äußerlich in der Software wider. Welche weiteren Änderungen im Kernschatten von Eclipse 4.8 mit dem lichten Codenamen Photon warten, verrät der Artikel.
Photon (griechisch für Lichtteilchen) lautet der Name der neuen Eclipse-IDE-Version 4.8 ([1], [2]), die Ende Juni 2018 erscheinen soll. Das Linux-Magazin hat einige der anstehenden Neuerungen aus den offiziellen News [3] und Release Notes [4] herausgepickt.
Alle Jahre wieder
Seit 17 Jahren dient die freie Eclipse-IDE vielen Java-Programmierern inzwischen als ausschlaggebende Entwicklungsumgebung. Doch auch wenn Eclipse im Laufe der Jahre zahlreiche kommerziellen IDE-Konkurrenten hinter sich gelassen hat, tummeln sich in diesem Kosmos durchaus interessante andere Anbieter und ist es um die Eclipse-IDE etwas stiller geworden. Dank der Popularität von Skriptsprachen wie Javascript und Python haben leichtgewichtige Editoren wie Visual Code, Sublime oder Atom aktuell Hochkonjunktur.
Ein überraschend großer Sprung nach vorn gelingt Eclipse 4.8 vor diesem Hintergrund nicht. Im Wesentlichen handelt es sich um ein Pflege-Update, aber ein paar Aktualisierungen und Neuerungen gibt es. Die betreffen nicht nur die Eclipse-Software selbst, sondern auch einige der 85 Unterprojekte, die im so genannten Release Train [5] stecken.
Diesmal haben es insgesamt sieben neue Subprojekte an Bord geschafft, während vier Unterprojekte nicht rechtzeitig am Release-Bahnhof eintrafen, zu ihnen zählen E-Gerrit, Orion, Sphinx und Subversive SVN Team Provider. Die Entwickler wollen sie als Plugins mit dem nächsten Photon-Update nachreichen.
Mit seiner Plattform, dem Plugin-Konzept und letztendlich auch seiner Stiftung gibt Eclipse weiterhin viele Impulse, gerade im Java-Bereich. In letzter Zeit machte Eclipse dort mit Jakarta EE [6] von sich Reden, einem sicheren zukünftigen Hafen für die nächsten Java-Enterprise-Versionen.
Language Server Protocol
Erich Gamma, einst Chefentwickler von Eclipses Java Development Environment (JDT), konnte nach seinem Wechsel zu Microsoft 2011 mit Visual Code einige neue Ideen, zum Beispiel das standardisierte Language Server Protocol (LSP, [7]), in ein neues Produkt einbringen. Das Protokoll erlaubt es ganz unterschiedlichen Tools und IDEs, nützliche Features diverser Programmiersprachen (Autovervollständigung, Referenzen finden, Hover, Jump-to-Def) über einen zentralen Server abzurufen (Abbildung 1). So muss nicht jede IDE diese Features selbst implementieren.

Abbildung 1: Kommunikationsablauf zwischen der IDE (Client) und dem Language Server über das in viele IDEs eingebaute Language Server Protocol.
Über die Projekte Eclipse LSP4J [8] und LSP4E [9] landete das Protokoll bereits im Juni 2017 in Eclipse 4.7 (Oxygen). Doch in Eclipse Photon dienen sie als verbesserte Basis für verschiedene Projekte. Dazu zählen Eclipse Acute für C# and Dotnet Core Development Tools [10], Eclipse Corrosion für Rust [11] und dem Textmate Support für Eclipse (TM4E, [12]). Projekte also, die Eclipse noch mehrsprachiger machen, als die IDE ohnehin schon war.
Standardmäßig benötigt Eclipse 4.8 mindestens eine Java-SE-8-Laufzeitumgebung für 32- oder 64-Bit-Systeme von Oracle oder IBM. Auch Open JDK wird unterstützt. Die IDE läuft auf den Plattformen Windows 7 und 10, Red Hat Enterprise Linux 7.4 und 7.5, Suse Linux Enterprise Server 12 SP2, Ubuntu LTS 16.04 und 18.04, OS X 10.12 und 10.13 (nur 64 Bit).
Die neue Version ist dabei kompatibel zur Vorgängerversion 4.7 (Oxygen). Wie gewohnt konvertiert Eclipse den Workspace seiner Ahnen automatisch beim ersten Öffnen in einen für die Version 4.8 angepassten.
Weniger Boilerplate
Als wohl wichtigste Neuerung von Photon lässt sich der Support für Java 10 nennen, den die Entwickler bereits mit der letzten Aktualisierung für Eclipse Oxygen 3a nachgereicht haben. Das erlaubt es unter anderem, das JEP 286 [13] anzuwenden, das den Umgang mit lokalen Variablen erleichtert und Boilerplate-Code im Manifest einspart. Das Java Enhancement Proposal ermöglicht Typinferenz für lokale Variablen mit Initialisierern, Indizes in verbesserten For-Schleifen sowie lokalen Variablen in traditionellen For-Schleifen.
Zu den Folgen des Updates auf Java 10 gehört zudem, dass sich in Eclipse 4.8 die Sourcecode-Kompatibilität für Java 10 überprüfen lässt. Langfristig dürfte die IDE allerdings auf Java 11 wechseln, das im September 2018 erscheinen soll. Der Grund: Für diese Java-Version bieten die Entwickler längerfristig Fehlerkorrekturen an. Vermutlich landet Java 11 dann im Dezember 2018 im zweiten Quartalsupdate [14] für Eclipse 4.8.
Bereits enthalten in Version 4.8 ist J-Unit 5 (Jupiter, [15]). Mit dem Testing Framework lassen sich Testfälle erzeugen und ausführen. Mit an Bord ist unter anderem ein neuer Test-Case-Assistent (Abbildung 2). Als logische Konsequenz bringt auch die neue Version 1.10.3 des Buildwerkzeugs Apache Ant eine aktualisierten Junitlauncher-Task mit, die J-Unit 5 unterstützt.

Abbildung 2: Im überarbeiteten Testing-Framework J-Unit 5 steckt unter anderem ein neuer Test-Case-Assistent.
Dunkle Kosmetik
Einen Schwerpunkt für Photon haben die Entwickler auf Performance-Verbesserungen unter der Haube und eine verbesserte Usability für die Benutzerschnittstelle gelegt. Die sichtbarste Neuerung ist sicherlich das Dark Theme (Abbildung 3). Der bei vielen anderen IDEs beliebte dunkle Hintergrund lässt sich nun auch mit ein paar Handgriffen für die Eclipse-IDE aktivieren. Die Canvas-Elemente des Dark Theme lassen sich mit CSS frisieren, die Links erscheinen vor der dunklen Oberfläche in hellblauem Farbton.
Für jeden etwas
Die meisten anderen Entwicklungsumgebungen und Werkzeuge installieren Git separat. Eclipse-Entwickler dagegen bekommen die Quellcodeverwaltung gleich mitgeliefert. Die Integration des auf J-Git basierenden E-Git macht einen harmonischen Eindruck.
Wie gewohnt bedient auch Photon die Entwickler ganz unterschiedlicher Richtungen: Es gibt Versionen für Java-EE-, Java-, DSL-, C- und C++-Entwickler, für Eclipse-Committer, für PHP-, Javascript- und Webentwickler sowie für RCP- und RAP-Entwickler. Daneben bietet die IDE spezielle Ausgaben für Tester, Wissenschaftler und Scout-Java- sowie HTML-5-Entwickler an.
Gerade im Bereich modellbasierter Entwicklung dient Eclipse mit Xtext, EMF, GMF und MDT mit den Eclipse Modeling Tools immer noch als der De-facto-Werkzeugstandard. Besonders nutzen dies Hersteller, die ihre Spezialwerkzeuge oder domainspezifischen Sprachen darauf aufbauen.
Für Javascript-Entwickler eignet sich Photon zwar besser als die Vorgänger, jedoch hinkt Eclipse Konkurrenzprodukten wie Webstorm oder Visual Code hinterher, was Funktionalität, Entwicklungskomfort und Erweiterungen angeht.
Ohne Mutterschiff
Was beim diesjährigen Photon-Release-Train auffällt, ist, dass einige Unterprojekte daran teilnehmen, die auch ohne die IDE auskommen. Zu diesen Java-Bibliotheken gehört Eclipse Yasson, das als offizielle Referenzimplementierung des JSR-367 eine Standard-Bindungsschicht zwischen Java-Klassen und Json-Dokumenten anbietet. Das zählt wie Eclipse Collections [16] und Eclipse Link zu den Java-Frameworks, die eigentlich mit der IDE nichts zu tun haben und separat zum Einsatz kommen.
Dieser Schritt könnte ein Hinweis darauf sein, dass die Eclipse Foundation mit dem zukünftigen Java-EE-Standard, den sie unter dem Namen Jakarta EE entwickelt, ihren Schwerpunkt weg von der IDE-Schmiede hin zu einem Framework und Plattformbaukasten verschiebt.
Ausblick
Die auf Java basierende Entwicklungsumgebung Eclipse ist inzwischen etwas in die Jahre gekommen. Insofern ist der schnelle und einfache Support für neue Programmiersprachen und ihre Erweiterungen über das Language Server Protocol ein großer Schritt nach vorn. Was neue Features angeht, entpuppt sich die Photon-Release allerdings eher als lichtarm. Die Entwickler haben diesmal vor allem Produktpflege betrieben und an dieser und jener Ecke kleinere Verbesserungen eingebaut.
Dennoch wird die immer noch große Entwicklerschar, die Eclipse als Leib-und-Magen-IDE einsetzt, auch diese Version schnell adaptieren und viel Freude damit haben. Dazu trägt auch der Umstand bei, dass wichtige Erweiterungssammlungen von Spring und Red Hat kurz nach der offiziellen Release von Photon am 27. Juni ebenfalls bereitstehen.
Infos
- Eclipse Photon: http://www.eclipse.org/Photon/
- Photon-Projektplan: http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_8.xml
- Photon-News: https://www.eclipse.org/eclipse/news/4.8/
- Photon Release Notes: https://www.eclipse.org/eclipse/development/readme_eclipse_4.8.php
- Subprojekte: https://projects.eclipse.org/releases/photon
- Jakarta EE: https://jakarta.ee
- Language-Server-Protokoll: https://github.com/Microsoft/language-server-protocol
- LSP4J: https://projects.eclipse.org/proposals/eclipse-lsp4j
- LSP4E: https://projects.eclipse.org/projects/technology.lsp4e
- Acute: https://www.eclipse.org/community/eclipse_newsletter/2017/august/article3.php
- Corrosion: https://github.com/eclipse/corrosion
- Textmate: https://projects.eclipse.org/projects/technology.tm4e
- JEP 286: http://openjdk.java.net/jeps/286
- Release-Plan: http://wiki.eclipse.org/Photon/Simultaneous_Release_Plan
- J-Unit 5: https://junit.org/junit5/
- Collections: https://projects.eclipse.org/projects/technology.collections








