Suche
Tooltime

Browser-IDEs im Vergleich: Eclipse Che vs. Orion vs. Microsoft Visual Studio Code

Dominik Mohilo

© Shutterstock.com/winui

Die moderne App-Entwicklung findet nicht immer auf dem lokalen Rechner, sondern immer öfter in den Weiten des Webs oder der Cloud statt. IDEs wie Eclipse Orion, Eclipse Che und Visual Studio Code von Microsoft wurden in Hinblick auf diese Verschiebung entwickelt. Wir haben uns diese drei Werkzeuge angeschaut und einen Blick auf deren aktuelle Updates geworfen. Wo liegen die Unterschiede, wo die Gemeinsamkeiten?

Eclipse Orion

Was ist Eclipse Orion?

Bereits seit über fünf Jahren gibt es das Projekt Eclipse Orion, und schon vor der Veröffentlichung von Orion 1.0 war die Browser-IDE Teil von Firefox. In den letzten Jahren ist viel geschehen, und aus der einstigen Entwicklungsumgebung, die ausschließlich für JavaScript, HTML und CSS vorgesehen war, ist viel mehr geworden. Über den OrionHub funktioniert die Webentwicklung, ganz ohne Herunterladen irgendwelcher Programme, in der Cloud.

Wer Eclipse Orion in der eigenen Webumgebung verwenden und eventuell sogar über Plug-ins erweitern möchte, muss zwar das Tooling herunterladen. Danach funktioniert Orion aber ganz komplikationslos über einen Client im Browser. Das hat etwa den Vorteil, dass man aufgerufene Seiten der Tooling-Plattform gemütlich über die Funktionen des Browsers bookmarken kann. Auch die Verwendung der Buttons für „Vor“ und „Zurück“ ist ohne Weiteres gewährleistet.

Die Vision von Eclipse Orion ist es, die Webentwicklung ganz in das Web zu verlagern und die Design-Prinzipien des Internets zu nutzen, anstatt auf existierende Konzepte von Desktop-Entwicklungsumgebungen zurückzugreifen. Durch das mit Orion 9 eingeführte Widget „CodeEdit“ kann der Orion-Editor inklusive aller Funktionen auf der eigenen Webseite eingebettet werden.

Der Orion Editor / Quelle:  orionhub.org

Der Orion Editor / Quelle: orionhub.org

Technisch gesehen unterstützt Eclipse Orion in erster Linie JavaScript (in dem es auch geschrieben ist), HTML und CSS. Seit Orion 5.0 sind allerdings weitere Unterstützungen hinzugekommen, etwa für JSON, XML, PHP, Python, Ruby, YAML und natürlich Java. Orion bietet zudem eine offene Tool-Integration über REST-orientierte HTTP-APIs, JSON, OAuth und OpenID. Viele der in Orion enthaltenen Komponenten sind von anderen Projekten des Eclipse-Universums (und darüber hinaus) übernommen und in das Tool-Set integriert worden. Zudem bietet Orion eine umfangreiche Integration, inklusive eines kompakten User Interfaces, von Git.

Das Git UI / Quelle: orionhub.org

Das Git UI / Quelle: orionhub.org

Größter Nachteil von Eclipse Orion ist aktuell wohl die fehlende Unterstützung für die Container-Technologie. Wie Raziel Tabib von Codefresh allerdings zeigte, ist es durchaus möglich, Orion um diese Funktionen zu erweitern.

Eclipse Orion 12

Für das aktuelle Update von Eclipse Orion wurden über 350 Bugzilla-Reports gefixt – es wurde also wieder massiv an dem Framework gearbeitet, das Hauptaugenmerk lag natürlich auf dem JavaScript-Tooling. So ist die ESLint-basierte Validierung nun nicht mehr allein auf die einzelne Datei fokussiert, die sich gerade in der Bearbeitung befindet. Stattdessen ist sich das Linting nun sämtlicher anderer Dateien im Workspace bewusst. Zu den weiteren Highlights zählt der vollständige Support der ECMA-2015-Spezifikationen. Für die Bibliotheken Acorn, Doctrine, ESrecurse, Estraverse, Escope und Tern gab es ebenfalls Updates.

Eine vollständige Liste der Neuerungen und Änderungen in Eclipse Orion 12.0 gibt es auf dem Blog Planet Orion, dort finden sich auch weitere Informationen zum codeEdit Widget.

Eclipse Che

Was ist Eclipse Che?

Eclipse Che wirbt auf der eigenen Homepage damit, die Next-Gen Eclipse IDE zu sein. Ganz so einfach ist es allerdings nicht, denn Che hat keineswegs den Anspruch, die „klassische“ Eclipse-Entwicklungsumgebung abzulösen oder zu ersetzen. Zwar kann Eclipse Che, wie Orion, mit einer großen Erweiterbarkeit aufwarten, und der Code-Editor wurde gar von Orion übernommen. Doch der Fokus der Entwicklungsumgebung Che ist ein anderer.

Eclipse Che in der Übersicht / Quelle: Eclipse Che

Eclipse Che in der Übersicht / Quelle: Eclipse Che

Während Eclipse Orion in erster Linie eine Client-basierte IDE im Browser zur Verfügung stellt, die durch Plug-ins möglichst simpel erweitert werden kann, legt Eclipse Che den Finger vor allem auf die Entwicklung innerhalb eines Workspaces. Diese Workspaces bestehen aus sogenannten Projekten und ihren Laufzeitumgebungen, die von Docker angetrieben werden. Che managt die Entwicklungsstadien und orchestriert sowohl den Projektstatus, als auch das Booten, Schieben, Visualisieren und Stoppen der Workspaces-Laufzeitumgebungen. Nutzer haben dabei jederzeit über Browser, CLI und APIs Zugriff auf ihre Projekte.

Als Workspace-Server gehostet, bietet Che einen gemeinsamen Zugriff auf Programmierservices durch Workspaces und Entwicklerteams. Workspace-Umgebungen werden dazu mit einem Hostnamen ausgezeichnet. Durch Remote Clients greifen Nutzer darauf zu. Dieses Feature nennt sich Collaborative Workspace Server.

Collaborative Workspaces / Quelle: Eclipse Che

Collaborative Workspaces / Quelle: Eclipse Che

Die Unterstützung von Stacks ist bei Orion ebenfalls nicht in dieser Form gegeben. Diese erlauben es Entwicklern, Projekte für jedwede Programmiersprache und jedes Framework zu erstellen, die entsprechenden Laufzeiten können dann entweder aus den Image- und Stack-Bibliotheken gebaut oder aus dem DockerHub gezogen werden. Individuelle Images können mit Dockerfiles geschrieben werden. Ein ähnliches Konzept verfolgt Visual Studio Code mit den sogenannten Extensions, die aus dem VS Code Extension Marketplace geladen werden können.

Wie auch Visual Studio Code und Eclipse Orion ist die Che IDE mit praktisch allen Sprachen nutzbar, auch wenn, bedingt durch den Ursprung des Editors, JavaScript auch hier die am besten unterstützte Codingsprache ist.

Eclipse Che 4.3

Mit der aktuellen Version von Eclipse Che wurde das Maven Plug-in überarbeitet. Es lassen sich nun Abhängigkeiten mittels anderer Abhängigkeiten auflösen, zudem können mit Version 4.3 im Klassenpfad Quellverzeichnisse für generierte Quellen konfiguriert werden. Ein neuer Java-Projekttyp wurde ebenfalls hinzugefügt: Ab sofort können alle Java-Projekte, die kein Maven-Projekt sind, mit dem default Java Project Type konfiguriert werden.

Eine weitere wichtige Neuerung ist die Editor-Personalisierung. Die Einstellungen des in Che eingebetteten Orion-Editors können nun personalisiert werden: etwa die Größe der Tabs, das Autopair für Klammern und die intelligenten Einrückungen.

Eine vollständige Liste mit Verbesserungen und Bugfixes im aktuellen Release von Che gibt es auf der Projekt-Homepage.

Microsoft Visual Studio Code

Was ist Visual Studio Code?

Mit dem Projekt Visual Studio Code geht Microsoft neue Wege. Die frei nutzbare Cloud-IDE, die unter Federführung des Eclipse-Chefarchitekten Erich Gamma entwickelt wurde, steht unter der MIT-Open-Source-Lizenz und ist bei weitem nicht nur auf Technologien des Windows/.NET-Universums beschränkt. Mehr noch: Durch die Integration des in Kooperation mit Red Hat und Codenvy (dem Eclipse-Che-Unternehmen) entwickelten Language Server Protocol wird es möglich, sprachspezifische Einstellungen auf einem zentralen Server abzulegen, die dann von allen möglichen Tools und IDEs genutzt werden können. Die revolutionäre Idee dahinter: Der Support von beispielsweise Java müsste so nicht von jedem Tool nochmals neu entwickelt werden, sondern ließe sich über das Protokoll quasi als ausgelagerter Service integrieren.

Wie Orion und Che ist auch Microsofts Visual Studio Code auf die Programmierung von Webanwendungen zugeschnitten. Von Haus aus unterstützt die quelloffene IDE die Programmiersprachen C#, C++, Python, PHP, Go, F#, JavaScript und TypeScript. Durch die sogenannten Extensions können neue Funktionen hinzugefügt werden.

Visual Studio Code / Quelle: Microsoft

Visual Studio Code / Quelle: Microsoft

Visual Studio Code wird, anders als Orion, nicht im Browser selbst ausgeführt, sondern ist ein auf Browsertechnologie basierendes, eigenständiges Programm. Allerdings ist es nicht nur für das Betriebssystem Windows verfügbar: Es existieren auch Installer für Linux und Mac OS X. Zu den Features, die VSC Out-of-the-Box mitbringt, gehört auch die von Visual Studio bekannte Codevervollständigung IntelliSense und die Möglichkeit, über eine interaktive Konsole direkt im Editor zu debuggen.

Wie bei Eclipse Orion ist Git fest in Microsofts Entwicklungsumgebung integriert: Allerdings nicht mit einem eigenen User Interface. Stattdessen können Commits direkt aus dem Editor getätigt werden, ein Review von Diffs und das „Stagen“ von Dateien sind auf die gleiche Weise verfügbar. Das Pushen und Pullen von jedem gehosteten Git-Service gehören ebenfalls zu den Features.

Integrierter Git-Support / Quelle: Microsoft

Integrierter Git-Support / Quelle: Microsoft

Neben Plug-ins zur Unterstützung weiterer Programmiersprachen, darunter auch Java, wartet der VS Code Extension Marketplace mit einer Reihe zusätzlicher Erweiterungen auf, die sowohl Usability als auch den Funktionsumfang verbessern. So gibt es neue Themes für die IDE, Debugger und Bausteine zum Verbinden zu anderen Services, etwa Angular 2 oder Docker.

Microsoft Visual Studio Code 1.2

Durch das Einfügen von Leerzeichen beim Hinzufügen neuer Codezeilen kann es vorkommen, dass ein unnötiger Leerraum entsteht. Im aktuellen Release wurde das editor.trimAutoWhitespace-Setting eingeführt, um das Problem zukünftig zu vermeiden. Der Editor ist dadurch in der Lage, überflüssigen Freiraum automatisch zu entfernen.

Ein weiteres Feature, das die aktuelle Version von Visual Studio Code mit sich bringt, ist das integrierte Terminal. Das vielen Entwicklern auf die Nerven gehende Wechseln zwischen Fenstern soll damit der Vergangenheit angehören. Über STRG + ` kann das Terminal aufgerufen werden. Das Listen, Installieren und Deinstallieren von Extensions ist nun außerdem über die Kommandozeile möglich.

Weitere Informationen zum aktuellen Update von Visual Studio Code gibt es auf dem Blog des Projektes.

Fazit:

Zunächst ist festzustellen: Alle drei Entwicklungsumgebungen sind sich jetzt schon in vielen Punkten sehr ähnlich. Da Eclipse Che den Code-Editor von Eclipse Orion verwendet, sind diese beiden IDEs beim Thema Multi-Language-Support identisch. Visual Studio Code ist durch die vielfältigen Möglichkeiten der Erweiterung ebenfalls mit sämtlichen Programmiersprachen kompatibel. Durch die aktuelle Entwicklung des Language-Server-Protokolls wird die Frage nach der Sprachkompatibilität von Entwicklungsumgebungen – so hoffen Codenvy, Microsoft und Red Hat – wohl so oder so bald der Vergangenheit angehören.

Erweiterbar sind alle drei Entwicklungsumgebungen ebenfalls, da sie quelloffen sind und damit eine gute Basis für die Erstellung von Plug-ins sind. Visual Studio Code hat einen eigenen Marktplatz für Erweiterungen. Etwas Ähnliches bietet Eclipse Che, das über den DockerHub angereichert werden kann.

Während Eclipse Orion und Visual Studio Code allerdings in ihrer Grundform eher als reine Entwicklungsumgebungen fungieren, ist Eclipse Che von sich aus schon sehr auf die Arbeit im Team ausgelegt. Das kollaborative Schreiben von Code wird in keiner der drei Entwicklungsumgebungen so sehr addressiert wie in Eclipse Che. Das Gleiche gilt für die Arbeit mit Containern, insbesondere Docker, welches zwar für VSC und auf Umwegen auch mit Orion genutzt werden kann, aber nur in Che direkt implementiert ist.

Aufmacherbild: Cloud Computing von Shutterstock / Urheberrecht: winui

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare
  1. Boereck2016-06-29 13:46:40

    Der Vollständigkeit halber kann man noch erwähnen, dass Microsoft in Visual Studio Team Services auch eine Cloud Variante des Editors bereit stellt die im Browser läuft. Und umgekehrt wird bei Eclipse Che bereits an einem Electron basierten Desktop Client gearbeitet. Wobei der (noch?) nicht mit dem Eclipse Che Server ausgeliefert wird, sondern zu einem bestehenden Server verbinden muss.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.