Grundgerüst für neue Entwicklungsumgebungen Eclipse Theia – das IDE-Framework

Von Mirco Lang

Auf den ersten Blick scheint Theia eine Alternative zu Visual Studio Code zu sein – Screenshots und Vergleiche legen es nahe. Aber auf den zweiten Blick ist es überhaupt keine IDE. Auf den Dritten dann irgendwie doch.

Das Theia-Repository in der Theia-basierten GitHub-IDE Gitpod.
Das Theia-Repository in der Theia-basierten GitHub-IDE Gitpod.
(Bild: Lang / GitHub / Eclipse Foundation)

Man kann es wohl leider nicht anders ausdrücken, aber was Kommunikation angeht, hat man bei Eclipse den Theia-Start ein wenig verschlafen – Zitat: „Theia 1.0, a true open source alternative to Microsoft’s popular Visual Studio Code“.

Das ist schlicht und ergreifend falsch. Schaut man in die Kommentare auf GitHub, grassierte dort vor allem eine Frage: „Wo finde ich einen Installer?“ Antworten gab es leider vor allem in Form ungefragter Empfehlungen, wie man aus dem Theia-Quellcode etwas bauen kann, Hinweise auf Docker-Container und so weiter.

Die eigentliche Antwort ist simpel und findet sich bei Theia durchaus, wenn auch nicht wirklich offensichtlich: Gar nicht. Es gibt keinen Installer, weil Theia keine fertige Anwendung und eben auch keine IDE ist. Eclipse Theia ist ein Framework zum Entwickeln von IDEs. Man kann also mit Theia durchaus Alternativen zu Visual Code entwickeln, das war es aber auch schon.

Zu der Verwirrung hat in den Anfangstagen auch beigetragen, dass Eclipse fleißig Screenshots vom vermeintlichen Theia veröffentlicht hat, was die berechtigte Vermutung aufwarf, dass es doch eigentlich eine IDE namens Theia zu finden geben müsste. Leider handelte es sich immer um Screenshots von Beispielumsetzungen.

Der Einstieg in Theia

Zwangsläufig folgt die Frage nach der Installation dieser Beispielumsetzungen. Anfangs sah es auch hier schlecht aus: Es gab keinerlei Releases mit Installer-Binaries, also musste selbst kompiliert werden. Und wie bei Projekten dieser Art üblich, gab und gibt es allerlei komplexe Abhängigkeiten, die die Angelegenheit nicht unbedingt einfach machen – kurzum, hier hagelte es bei zwei Versuchen lediglich Fehlermeldungen.

Abhilfe schafft Theia Blueprint, eine Vorlage für eigene IDEs, für die es aber auch einen Installer gibt. Dabei handelt es sich gemäß Eclipse explizit nicht um ein einsatzfähiges Produkt, auch wenn es einwandfrei läuft und einen guten Eindruck verschafft.

Ein Einstieg in Theia ist also ein wenig holperig. Und dennoch kann es sich lohnen, denn was sich mit Theia produzieren lässt, fällt dann doch in die Kategorie VSC-Alternative. Theia orientiert sich auch ganz offen am Microsoft-Vorbild und hat allerlei Design-Entscheidungen übernommen. Dabei ist es aber modularer gestaltet und dadurch anpassbarer und nicht wie VSC an einen Hersteller gebunden. Freilich ist auch VSC Open Source Software, aber bei Plug-ins gelten beispielsweise schon wieder Restriktionen. Langfristige Entscheidungen kommen ausschließlich von Microsoft.

Die vielen Plug-ins der großen VSC-Community hatte aber auch das Theia-Team im Blick: Zwar ist es nicht möglich, VSC-Erweiterungen direkt in Theia zu nutzen, obwohl technisch kompatibel. Aber es gibt mit der Open VSX Registry einen Marktplatz für offene, herstellerneutrale Plugins für VSC-kompatible Editoren. Zu finden sind dort beispielsweise populäre Tools wie Magit, Ansible, Dart oder YAML-Unterstützung.

Das wirklich Interessante an Theia, beziehungsweise Theia-basierten IDEs, ist aber, dass sie wahlweise als Desktop-App oder im Browser laufen können. Adaptiert und unterstützt wird Theia zudem von durchaus größeren Playern am Markt, unter anderem arm, Red Hat, Google, IBM, SAP und Huawei.

Weitere Kern-Features: Aufbauend auf dem Language Server Protocol werden über 60 Sprachen unterstützt, Tendenz steigend. Ein integrierter Terminal macht einen Browser-only-Ansatz deutlich einfacher und übersteht auch Reloads, ohne die History zu verlieren. Das Layout ist im Widget-Konzept aufgebaut, so dass sich Oberflächen einfach per Drag and Drop anpassen lassen. Derlei Features finden sich freilich auch bei Visual Code Studio, die großen Unterschiede liegen tatsächlich am modularen Aufbau, herstellerunabhängiger Organisation sowie einem Design, das von vornherein für Desktop und Cloud ausgelegt ist.

Theia-Beispiele

Das Theia-Repository in der Theia-basierten GitHub-IDE Gitpod.
Das Theia-Repository in der Theia-basierten GitHub-IDE Gitpod.
(Bild: Lang / Eclipse Foundation)

Theia selbst empfiehlt Gitpod für einen ersten schnellen Blick, wo es auch einen sehr interessanten Blog-Beitrag von Anton Kosyakov gibt, seines Zeichens Leiter der IDE-Entwicklung bei Gitpod. Gitpod wiederum ist eine auf Theia-basierende GitHub-IDE im Browser – und somit tendenziell für jeden GitHub-Nutzer von Interesse. Entsprechend verlinkt die Empfehlung von Theia auch mit dem Text „Theia in Theia öffnen“.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Man landet hier direkt in der Gitpod-IDE samt geöffnetem Theia-Repository – und wer VSC gewohnt ist, wird sich umgehend zurecht finden, spätestens mit einem dunklen Theme, denn selbstverständlich gibt es auch hier einen Darkmode.

Arduino IDE 2 Beta – schon jetzt ein Gewinn.
Arduino IDE 2 Beta – schon jetzt ein Gewinn.
(Bild: Lang / Eclipse Foundation)

Die noch in der Beta befindliche Arduino IDE 2 basiert ebenfalls auf Theia. Diese Modernisierung wird der Arduino-Entwicklung schon auf den ersten Blick ergeben sich Vorteile, beispielsweise die Einbindung der Bibliotheksverwaltung in das Hauptfenster. In der 1er-Version läuft dies unter Windows nur über ein Client-Fenster, das entsprechend das Hauptfenster sperrt.

Entwicklung für IoT-Geräte mit Mbed Studio.
Entwicklung für IoT-Geräte mit Mbed Studio.
(Bild: Lang / Eclipse Foundation)

Für IoT-Betriebssystem Arm Mbed OS steht ebenfalls eine Theia-Variante bereit, das Mbed Studio [https://os.mbed.com/studio/]. Auch hier ist ganz klar die an VSC angelehnte Theia-DNA zu erkennen. Und wie auch bei der verwandten Arduino IDE sind alle nötigen Tools, Abhängigkeiten und etliche Beispielprojekte direkt mit dabei – eine aufwändige Einrichtung ist nicht nötig.

Theia Blueprint als Vorlage für eigene IDEs.
Theia Blueprint als Vorlage für eigene IDEs.
(Bild: Lang / Eclipse Foundation)

Wer einen möglichst unverfälschten Blick auf das „Kern-Theia“ werfen will, sollte sich jedoch Theia Blueprint anschauen, die bereits erwähnte, reine Theia-Vorlage. Die Installation läuft unter Windows, macOS und Linux über simple Installer.

Schaut man sich den diesjährigen Stack Overflow Developer Survey an, sucht man im Bereich IDE noch vergeblich nach Theia beziehungsweise Theia-Varianten in den Top 20. Allerdings liegt VSC mit 71,06 Prozent sehr einsam an der Spitze der meistgenutzten Entwicklungsumgebungen.

Dies drüfte Theia gute Aussichten einräumen, lehnt es sich doch in vielen Punkten an das VSC-Universum an. Vor allem ist Theia noch recht jung, insbesondere das installierbare Theia Blueprint steht erst seit einigen Monaten zum Download zur Verfügung. Und vorher war es für viele Interessierte, darunter auch IT-Autoren, ziemlich mühsam, sich einen Eindruck von Theia zu verschaffen.

Nach dem vielleicht etwas verschlafenen Start dürfte Theia aber gute Chancen haben, zunehmend in den Fokus zu geraten: Gerade langfristig ist es ein Riesenvorteil, nicht von den Entscheidungen eines einzelnen Anbieters abhängig zu sein, eine Open-Source-Organisation verspricht da ein ausgewogeneres Verhalten. Zudem ist die Möglichkeit, relativ einfach eigene IDEs aufzubauen nicht zu unterschätzen. Freilich ist das für bestimmte Systeme wie Arduino oder Mbed OS interessant, aber auch angepasste IDEs für den internen Gebrauch in Unternehmen könnten ihren Reiz haben.

(ID:47928725)