Quellcodeeditor Visual Studio Code im Browser: Gitpod bringt OpenVSCode Server

Mit OpenVSCode Server lässt sich der Quellcodeeditor im Browser nutzen – mit Zugriff auf den Anbieter-neutralen Open VSX Marketplace.

Lesezeit: 7 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag

(Bild: EFKS/Shutterstock.com)

Von
  • Maika Möbus

Der Online-IDE-Anbieter Gitpod hat die Veröffentlichung der quellfreien Version des OpenVSCode Server bekannt gegeben. Er soll die Verwendung von Visual Studio Code im Browser ermöglichen, ähnlich wie das bereits durch GitHub Codespaces bekannt ist. Im Gegensatz dazu steht OpenVSCode Server als Open-Source-Alternative auf GitHub zur Verfügung.

Zudem setzt Gitpods OpenVSCode Server auf den Anbieter-neutralen Open VSX Marketplace, dessen Verwaltung seit März 2021 die Eclipse Foundation übernommen hat. Im Gespräch mit heise Developer ging Gitpod-CEO Sven Efftinge darauf ein, welche Motive hinter der Entwicklung von OpenVSCode Server stehen und wie sich dieser nutzen lässt.

Das Gitpod-Team hat kürzlich eine Open-Source-Version des OpenVSCode Server veröffentlicht – worum handelt es sich dabei?

OpenVSCode Server ist im Prinzip Visual Studio Code inklusive der bisher nicht veröffentlichten Anteile, die es erlauben, VS Code mit einem serverseitigen Prozess im Browser zu betreiben. Es handelt sich also um den Modus, den sowohl Gitpod als auch GitHub Codespaces nutzen, wenn User über den Browser auf ihre Workspaces zugreifen.

Was hat euch dazu inspiriert, den OpenVSCode Server Open Source zu stellen?

Viele Unternehmen haben uns gefragt, wie wir VS Code im Browser betreiben, weil sie Use Cases haben, in denen sie das auch tun wollen. Obwohl die Desktopversion von VS Code Open Source ist, hat Microsoft die nötigen Komponenten für einen Betrieb im Browser mit Server-Backend bisher nicht veröffentlicht. Das hat dazu geführt, dass verschiedene Unternehmen eigene Umsetzungen entworfen haben oder auf eine schon veraltete Lösung zurückgriffen. In beiden Fällen führte das zu vielen unnötigen Anpassungen im Quellcode von VS Code, und damit auch zu einigen Bugs und Limitierungen. Vor allem aber ist es sehr schwer, die vielen Änderungen immer wieder auf die neueste Version von VS Code zu aktualisieren.

Open VSCode Server nutzt die vom VS-Code-Team eingeführten Protokolle und Architektur und fügt nur etwas ergänzenden Code hinzu. Deshalb ist OpenVSCode Server immer automatisch aktuell.

Welche Features bietet OpenVSCode Server?

OpenVSCode Server ist im Prinzip ein Webserver, der sich von einem beliebigen Ort starten lässt, um dann per Browser darauf zuzugreifen. Der Editor arbeitet dann auf dem Dateisystem der Serverseite. Microsoft erlaubt keinen Zugriff auf seinen eigenen Marketplace, obwohl die meisten der dort zu findenden Extensions Open Source sind und Microsoft sie nicht einmal selbst entwickelt hat. Deshalb haben wir zusammen mit anderen den Open VSX Marketplace geschaffen, der komplett offen für Publisher, Benutzer und auch Plattformen wie Gitpod ist. OpenVSCode Server verwendet ebenfalls Open VSX als Marketplace, der die wichtigsten Extensions bereitstellt. Und täglich kommen neue Extensions hinzu.

Welche technischen Voraussetzungen müssen für das Verwenden von OpenVSCode Server erfüllt sein?

Man braucht nur einen Rechner, auf dem man den Webserver startet – das kann der eigene Laptop, eine beliebige Virtual Machine oder auch ein Container sein. Ein Netzwerkzugriff darauf ist natürlich ebenfalls nötig.

Wie unterscheidet sich euer Ansatz von GitHub Codespaces, das ebenfalls eine Nutzung von VS Code im Browser ermöglicht?

Gitpod bzw. GitHub Codespaces gehen viel weiter als OpenVSCode Server. Diese neuen "Remote Dev Environment"-Dienste sorgen dafür, dass Entwicklerteams ihre Entwicklungsumgebungen als Code konfigurieren können, um allen Beteiligten zu jeder Zeit ein automatisches Setup zur Verfügung zu stellen. So eine Umgebung besteht aus viel mehr als nur der IDE oder dem Editor. Neben dem Auschecken der relevanten Git-Repositories müssen SDKs, Datenbanken, Application Server und mehr installiert und richtig konfiguriert sein.

Heute verbringen Entwickler während ihrer ersten Tage in neuen Teams die meiste Zeit mit dem Aufsetzen einer solchen Entwicklungsumgebung auf ihren lokalen Maschinen. Das ist zum einen an sich schon kein sinnvoller Zeitvertreib, aber der wirkliche Kostenfaktor besteht in den fortwährend auftauchenden Problemen, wenn mit der Zeit das Setup nicht mehr zu den Anforderungen der jeweiligen Projekte passt. Im CI/CD-Bereich wird das auch Configuration Drift genannt, was unweigerlich geschieht, wenn man ein System aufsetzt und es dann manuell weiter pflegt.

Gitpod erlaubt Teams das Aufsetzen von Entwicklungsumgebungen so stark zu automatisieren, dass für jeden Task eine frische Umgebung nutzbar ist. Das erlaubt das ständige Ausführen der Automatisierung und das Sicherstellen, dass diese funktioniert.

OpenVSCode Server entspricht hier wirklich nur dem kleinen Web-IDE-Anteil von Gitpod (oder auch GitHub Codespaces) und bietet nur einen Weg von vielen, um auf die Workspaces zuzugreifen. Wer nicht im Browser programmieren möchte, kann Gitpod alternativ mit der Desktopversion von VS Code und bald auch mit den IDEs von JetBrains nutzen.

Was wären typische Use Cases, in denen der OpenVSCode Server seine Vorteile ausspielen kann?

Für Endnutzer kann OpenVSCode Server einen einfachen Einstieg in die neue Welt der "Remote Dev Environments" bieten. Allerdings beinhaltet das Thema wesentlich mehr als nur die Möglichkeit, auf eine Umgebung per Browser zuzugreifen. Typische Anwender dürften da relativ schnell herauswachsen und dann auf Angebote wie Gitpod oder GitHub Codespaces wechseln, die das automatisierte Bereitstellen von Entwicklungsumgebungen ermöglichen.

Ansonsten haben wir mit vielen Unternehmen gesprochen, die zum Teil intern schon eigene "Remote Dev Environments" gebaut haben (Google, Uber, SAP, Shopify...) und ein Interesse daran haben, eine saubere Web-IDE auf Basis von VS Code zu verwenden. Andere Unternehmen wie etwa RStudio sind daran interessiert, spezialisierte Web-IDEs auf Basis von OpenVSCode Server zu entwickeln.

Mir geht es bei der Veröffentlichung von OpenVSCode Server aber auch darum, zu verdeutlichen, dass Web-IDEs mit VS Code heute ein Allgemeingut sind und mittlerweile wirklich gut gereift sind.

Sind schon neue Features geplant, die zu einem späteren Zeitpunkt in OpenVSCode Server implementiert werden sollen?

Wir wollen den Scope für das Projekt sehr klein halten. Das heißt, wir werden keine Features implementieren, die nicht speziell mit dem Browser/Server-Kontext zu tun haben, da diese Dinge in VS Code selbst einfließen sollten. Wir werden allerdings einige Funktionen in Bezug auf die Sicherheit und die Synchronisierung von Userdaten, die zurzeit noch im Gitpod-relevanten Anteil stecken, in OpenVSCode Server einbringen.

Weitere Informationen zu OpenVSCode Server lassen sich einer Pressemeldung von Gitpod entnehmen.

(mai)