Interview mit Sven Efftinge

Xtext und Xtend in Eclipse Mars… und bald auch in IntelliJ IDEA

Hartmut Schlosser

Sven Efftinge

Das Modellierungswerkzeug Xtext und die darauf aufbauende Programmiersprache Xtend sind im Rahmen von Eclipse Mars in Version 2.8.3 erschienen. Projektleiter Sven Efftinge berichtet über die Neuerungen und erklärt, warum die Projekte derzeit auf andere Plattformen wie Orion, Ace und IntelliJ IDEA portiert werden.

JAXenter: Was sind die Neuerungen für Xtext und Xtend im Mars Release?

Sven Efftinge: Im Mars-Release ist die Version 2.8.3 von Xtext und Xtend enthalten. Eine interessante Neuerung in Xtext ist beispielsweise die Unterstützung für Whitespace-sensitive Sprachen. Das sind Sprachen, bei denen ähnlich wie bei Python Einrückungen statt Klammern verwendet werden, um Blöcke zu kennzeichnen. Weiterhin gibt es eine neue Formatter-Infrastruktur, die sehr komplexe Formatierungen zulässt. Z.B. können damit Tabellenlayouts realisiert werden. Xtext 2.8.3 enthält noch viele weitere Funktionen und Verbesserungen und natürlich auch wieder mehrere 100 Bugfixes und klar spürbare Performanceverbesserungen. Die ausführlichen Release-Notes finden sich unter [1].

Xtend 2.8.3 profitiert einerseits von allen Verbesserungen in Xtext, hat aber noch ein paar weitere Dinge anzubieten. Es gibt nun z.B. in Eclipse eine Action, mit der Java-Quelltext automatisch nach Xtend konvertiert werden kann. Das funktioniert nicht nur mit einzelnen Dateien, sondern auch mit ganzen Ordnern oder Projekten.Ein Update auf 2.8.3 lohnt sich auf jeden Fall!

JAXenter:  Was sind aus deiner Sicht die Highlights in Mars außerhalb von Xtext und Xtend?

Sven Efftinge:  Für mich persönlich ist das Error-Reporting, welches durch das Code-Recommenders-Projekt getrieben wird, ein sehr nützliches neues Feature. Dadurch werden Fehler in der IDE, die bisher einfach im Error-Log gelandet sind und dann meistens vergessen wurden, automatisch an Eclipse.org gesendet. Wir können diese dann bearbeiten und in Bugzillas verwandeln. Es gibt sogar die Möglichkeit eine Nachricht zu verfassen, die dem User beim nächsten Auftreten des Problems angezeigt wird, um z.B. nach weiteren Informationen zu fragen. Außerdem kann der User auch sehen, ob ein gerade aufgetretener Fehler schon behoben wurde. Obwohl das Error-Reporting erst jetzt im Release integriert wird, haben wir im Xtext-Projekt schon durch die Nutzung der Meilensteine viele nützliche Fehlermeldungen bekommen und auch schon viele Probleme behoben, die auf diesem Weg gemeldet wurden. Ich bin sehr gespannt, wie sich dieser Mechanismus im Release macht, wenn es von vielen Usern verwendet wird.

Ein weiteres wichtiges Feature ist sicherlich der neue Installer bzw. Eclipse-Oomph. Das Setup einer Arbeitsumgebung für nicht-triviale Projekte ist ja oft sehr mühsam und komplex. Mit Oomph lässt sich das automatisieren, was wir z.B. auch für die Entwicklung im Xtext-Projekt nutzen. Damit können alle, die am Xtext-Projekt mitwirken wollen, mit einem Klick eine funktionierende Entwicklungsumgebung erstellen. Das ist ziemlich praktisch. Ich kann Oomph auch für nicht-open-source-Projekte empfehlen, die ein komplexeres Setup haben.

JAXenter:  Ihr habt jetzt auch eine Beta-Version des nächsten Releases veröffentlicht. Was ist das Besondere?

Sven Efftinge:  Das nächste Release wird die Versionsnummer 2.9 tragen und ist ein wichtiger Meilenstein, weil wir hier erstmals Werkzeugunterstützung für andere Plattformen als Eclipse anbieten werden. Dabei geht es zunächst um die Unterstützung für Orion- [2] und Ace- Editoren [3], d.h. also Quelltext-Editoren im Web, die dann mit Features wie Content Assist, Syntax Coloring, Validierung usw. aufwarten. Damit werden auch DSLs, die für Fachexperten entworfen wurden, wesentlich interessanter, weil diese dann nicht gezwungen werden eine Entwickler-IDE (Eclipse) zu installieren. Die durch Xtext unterstützten Textfelder wird man dann sehr einfach in bestehenden Web-Anwendungen nutzen können.

Die andere Plattform, die wir mit 2.9 unterstützen werden, ist IntelliJ IDEA [4]. Hier ist das Ganze natürlich stark auf Java-Entwickler ausgelegt. Deshalb ist für diese Plattform auch der Xtend-Support sehr wichtig. Wir werden zusätzlich zur IntelliJ-IDEA-Integration auch Android Studio [5] unterstützen, da DSLs und vor allem Xtend auch im Android-Kontext sehr viel Sinn machen.

JAXenter:  Was ist der Grund dafür, dass Xtext jetzt für andere Plattformen portiert wird?

Sven Efftinge:  Der Websupport für Xtext macht einfach sehr viel Sinn, weil wir damit fachliche DSLs innerhalb von Businessanwendungen nutzen können. In so einer Situation auf eine externe Programmierer-IDE zurückgreifen zu müssen ist einfach nicht ideal. Die IntelliJ-Unterstützung ist wichtig, weil die Marktanteilen der Jetbrains-IDE stetig ansteigen und wir zunehmend gemischte oder sogar komplett IDEA-nutzende Teams bei Kunden vorfinden.

JAXenter:  Wird die Integration für die Eclipse-IDE in Zukunft weiterhin unterstützt?

Sven Efftinge: Ja, auf jeden Fall. Der Eclipse-Support wird nach wie vor unterstützt und auch weiter verbessert.

JAXenter:  Wird es weitere Betas geben und wann können wir mit einem Release rechnen?

Sven Efftinge: Das Release ist für November 2015 geplant, und wir werden bis dahin noch ein oder zwei Betas veröffentlichen. Wir machen solche expliziten Beta-Versionen zum ersten Mal und erhoffen uns dadurch noch ein paar zusätzliche User dazu zu bewegen, den aktuellen Stand mal auszuprobieren. Gerade bzgl. der neuen Plattformen ist es wichtig, möglichst früh Feedback bzgl. der APIs und Funktionalitäten zu erhalten.

JAXenter: Vielen Dank für dieses Interview!

Sven Efftinge ist Projektleiter von Eclipse Xtext und Xtend. Er arbeitet als Development-Manager bei itemis und leitet den Standort in Kiel. In seiner Freizeit verbringt er gerne viel Zeit mit seinen Kindern oder mit einem Kite auf der Ostsee.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. #java #eclipse #devops #machinelearning #seo. Zum Lächeln bringen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: