Die Plattform für Web-basierte Entwicklungswerkzeuge erscheint in der fünften Version

Eclipse Orion 5.0 – What’s New?

Martin Lippert
©Shutterstock.com/AstroStar

Wie man bereits an der Versionsnummer erkennt, liefert das Eclipse Orion Projekt neue Releases in deutlich kürzeren Zyklen aus, als man dies von der Eclipse-Plattform gewohnt ist. Pünktlich zur EclipseCon North America 2014 gab es Anfang März das fünfte Release von Orion. Werfen wir einen Blick darauf, was sich getan hat, in welche Richtung sich das Projekt entwickelt und worauf wir uns für die nächsten Releases schon freuen dürfen.

Dass das Eclipse-Orion-Projekt in vieler Hinsicht anders ist als viele andere Eclipse-Projekte, braucht man mittlerweile nicht mehr zu erwähnen. Obwohl es sich um ein noch sehr junges und noch lange nicht komplett ausgereiftes Projekt handelt, etabliert sich Orion mit jedem Release mehr und mehr als unabhängige und tragfähige Plattform für browser-basierte Entwicklungswerkzeuge – zu Recht, wie man auch anhand der fünften Version erkennen kann.

Endlich eine ansprechende Optik

Während in den älteren Versionen die Oberfläche etwas hölzern wirkte und nicht annähernd vergleichbar war mit den polierten Hochglanz-UIs typischer Webanwendungen, wirkt Orion 5.0 völlig anders. Die gesamte Oberfläche kommt der einer modernen und ansprechend aussehenden Webanwendung inzwischen sehr nahe und fühlt sich deutlich moderner und flüssiger bedienbar an, als dies noch in vergangenen Versionen der Fall war.
Die neue Navigation-Bar (Abb. 1) an der linken Seite bietet einen einfachen und übersichtlichen Zugriff auf die unterschiedlichen Bereiche von Orion (wie beispielsweise Editing, Repositories, Search, etc.).

Abb. 1: Einfach, aufgeräumt und übersichtlich - die neue Navigation-Bar

Als einfache, aber sehr nützliche Ergänzung haben jetzt auch die Web-Pages von Orion entsprechende Page-Icons bekommen, so dass man sofort am Browser-Tab erkennen kann, zu welchem Bereich von Orion der entsprechende Tab gehört.
Die einzelnen Actions sind inzwischen in klassische Haupt- und Kontext-Menüs sortiert worden und bieten so einen einheitlichen und einfachen Zugriff auf häufig benötigte Operationen. Besonders praktisch ist dabei, dass sich eine Datei beispielsweise über das Kontext-Menü per “Open in…” direkt im Editor oder in einem Browser-Tab öffnen lässt. Eine kleine, aber aus meiner Sicht sehr nützliche Erweiterung.
Insgesamt wirken die Menüs deutlich aufgeräumter und sortierter und erlauben eine durchgängige Handhabung, in der sich jeder sofort zurechtfinden sollte – vor allem auch deshalb, weil sich die Menüs an denen bestehender Desktop-IDEs anlehnen. Das erlaubt einen einfachen Einstieg, führt aber auch dazu, dass sich Orion inzwischen an einigen Stellen wieder stärker wie eine Desktop-Applikation anfühlt – und nicht, wie eigentlich einmal geplant, wie ein modernes Web-UI. Allerdings erscheint der Kompromiss gerade bei den Menüs logisch und sinnvoll gewählt zu sein.

Abb. 2: Alles schön aufgeräumt - die neuen Haupt- und Kontext-Menüs in Orion

Aufmacherbild: Famous Orion nebula in the constellation of Orion.von Shutterstock / Urheberrecht: AstroStar

[ header = Seite 2: Code-Editing ]

Code-Editing

Content-Assist ist eine der wichtigsten Funktionen eines guten Quellcode-Editors. Auch in diesem Bereich hat Orion deutliche Fortschritte gemacht. Der Content-Assist im JavaScript-Bereich ist nicht nur bemerkenswert schneller geworden, sondern hat auch eine angenehmere Optik erhalten. Außerdem öffnet sich der Content-Assist an vielen Stellen automatisch und fügt die Auswahl selbständig ein, wenn es nur eine Möglichkeit zur Auswahl geben sollte.

Abb. 3: Content-Assist in Orion sieht nicht nur besser aus, sondern fühlt sich auch besser an

Während der “normale” Content-Assist für JavaScript in Orion sich auf die aktuell editierte JavaScript-Datei fokussiert und ausschließlich diese analysiert, um den Content-Assist bereitzustellen, werden verwandte JavaScript-Dateien nicht berücksichtigt. Das ist vor allem bei verwendeten Bibliotheken störend, weil gerade dort ein guter Content-Assist sehr hilfreich ist bei der täglichen Arbeit. Deshalb hat Orion eine Reihe von Content-Assist-Indexes bekommen. Mit diesen Indexes kann Orion für verwendete Bibliotheken vorgerechneten Content-Assist zur Verfügung stellen, ohne die externe Bibliothek selbst laden und analysieren zu müssen. Dazu sind entsprechende Index-Informationen für die jeweilige Bibliothek notwendig. Orion bringt deshalb eine Reihe von Indexes für häufig benutzte node.js-Bibliotheken mit.
Neben dem verbesserten Content-Assist hat Orion schon in den vergangenen Versionen einige sehr nützliche zusätzliche Erweiterungen und Verbesserungen im Code-Editor erfahren. Dazu zählen unter anderem die automatische Klammer-Vervollständigung, das automatische intelligente Einrücken von Code beim Editieren, und das flüssige Schreiben von Block-Kommentaren, indem die entsprechenden Kommentar-Markierungen automatisch eingefügt werden. Alles kleine, aber sehr feine Erweiterungen, die den Orion-Code-Editor mittlerweile zu einem sehr effizienten und mächtigen Entwicklungswerkzeug machen.

Cloud Foundry

Bisher konnte man in Orion eine Anwendung als so genannte Site bereitstellen. Das bedeutete, dass der Inhalt des Projektes als statische Ressourcen über HTTP zur Verfügung gestellt wurde. Dadurch war es möglich, den client-seitigen Teil einer Webanwendung im Browser auszuführen, zu testen und Probleme zu identifizieren. Allerdings bestehen die meisten Anwendungen nicht ausschließlich aus Client-seitigen Komponenten, die in JavaScript implementiert sind und sich mit einem Browser als Ablaufumgebung zufriedengeben. Meist sind Server- oder Cloud-seitige Services oder Komponenten mit ihm Spiel, die sich mit Orion zwar editieren ließen, aber eben nicht ausführen.
Das ändert sich mit Orion 5.0. Mittels entsprechender Kommandos in der Shell lassen sich komplette Anwendungen auf eine Cloud-Foundry-PaaS-Instanz (wie beispielsweise https://run.pivotal.io/) ausrollen und ausführen. Dazu stehen die von dem Cloud-Foundry-Command-Line-Interface bekannten Kommandos zur Verfügung. So kann eine komplette Anwendung in Orion implementiert und anschließend auf Cloud-Foundry installiert werden, ohne dass zusätzliche Werkzeuge nötig werden.
Hinter der Integration von Cloud Foundry steckt höchstwahrscheinlich die Tatsache, dass IBM Eclipse Orion als Basis für ihre JazzHub-Umgebung einsetzt und mittlerweile auch im Cloud-Foundry-Projekt verstärkt aktiv ist und Cloud Foundry als Basis für das BlueMix-Projekt verwendet. Vor diesem Hintergrund macht es Sinn, von Orion heraus möglichst direkt auf Cloud-Foundry-PaaS-Instanzen zugreifen zu können.
Während das Debugging von client-seitigem JavaScript mit den entsprechenden Browser-Werkzeugen wie FireBug oder den ChromeDevTools leicht möglich ist, existiert für die server- bzw. cloud-seitigen Services noch keine direkte Debugging-Möglichkeit. Um die Anwendung in eine Ablaufumgebung zu deployen ist die Cloud-Foundry-Integration deshalb sehr interessant, von einem kompletten und schnellen Entwicklungs-Roundtrip ist man hier aber noch weit entfernt.

Ausblick

Spannend für das nächste Orion-Release 6.0 wird die Integration von Docker sein. Die gerade in letzter Zeit sehr populäre Plattform, um auf Linux-Systemen leichtgewichtige Container laufen zu lassen, mit denen sich vorgefertigte Umgebungen isoliert voneinander verpacken und ausführen lassen, könnte für Orion interessant werden, um dem Benutzer weitaus mehr Möglichkeiten zu geben, auf den eigenen server-seitigen Workspace zuzugreifen. Aktuell sind in Orion die Möglichkeiten dazu sehr begrenzt. Eine Integration mit Docker könnte da völlig neue Möglichkeiten eröffnen.
Darüber hinaus wird die Zusammenarbeit mit dem neu entstandenen Project Eclipse Flux spannend. Während Orion sich stark auf das browser-basierte Front-End konzentriert und aktuell keinerlei Unterstützung für Sprachen wir Java, Scala, oder Groovy anbietet, stellt Project Flux eine cloud-basierte Architektur und Technologie bereit, die es ermöglichen wird, umfangreiches Sprach-Tooling auch für Java in cloud-basierten Umgebungen zu implementieren. Deshalb könnte es zu einer sehr fruchtbaren Zusammenarbeit zwischen Orion und Flux kommen, so dass eine Orion-Umgebung in Zukunft auch volle Sprach-Unterstützung für Java bereitstellen könnte. Zusätzlich arbeitet man im Flux-Projekt auch daran, eine Verbindung zu existierenden Desktop-IDEs herzustellen, so dass man sich nicht entscheiden muss, ob man in Orion oder der lieb gewonnenen Eclipse-IDE arbeitet. Beides soll kombiniert miteinander möglich werden. Auch wenn die konkrete Umsetzung noch einige Zeit benötigen wird, ist der Ausblick sehr interessant und verspricht eine spannende Zukunft für cloud-basierte Entwicklungswerkzeuge.

Fazit

Eclipse Orion entwickelt sich mehr und mehr zu einer umfangreichen Plattform für cloud-basierte Entwicklungswerkzeuge. Bisher schmerzlich vermisste Features (wie beispielsweise das direkte Deployment einer Anwendung auf Orion heraus) werden mit jedem Orion-Release weiter geschlossen. Und selbst die Optik, die bisher nicht annähernd mit der von etablierten Cloud-IDEs mithalten konnte, ist mittlerweile auf einem guten Weg. Für alle, die sich mit web-basierten Entwicklungswerkzeugen einmal beschäftigen wollen, ist Orion absolut zu empfehlen. Und das Projekt scheint noch eine sehr spannende Zukunft vor sich zu haben.

Geschrieben von
Martin Lippert
Martin Lippert
Martin Lippert ist Lead der Spring-Tool-Suite-Entwicklung und arbeitet bei Pivotal (im SpringSource-Team) mit einem internationalen Team an Entwicklungswerkzeugen rund um Spring- und Cloud-Techniken. Als Mitgründer der it-agile GmbH gilt er zudem als Spezialist für agile Softwareentwicklung.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: