今週初め、Eclipse Foundationは、WebおよびネイティブIDEを構築するためのオープンソースフレームワークであるEclipse Theia 1.0のリリースを発表した。Theiaは、Web上で実行するか、Electronアプリケーションにパッケージ化してデスクトップで実行できるIDEを構築するためのJavaScriptフレームワークを提供する。VSCode拡張機能と互換性があるように設計されており、同じLanguage Server Protocolを使用して、Java、Python、Rustとその他のさまざまなプログラミング言語でリモート開発できる。
表面的にはVSCodeに似ているように見えるかもしれないが、Theiaは実際にはIDE自体ではなくIDEフレームワークである。IDE自体ではなく、JavaFXがGUIアプリケーションを有効にするようなコンポーネントを提供する。ただし、アプリケーションにWebベースのIDEを提供する人気のあるGitpod.ioや、自己ホスト型ソリューションのkubernetesクラスタで実行できるEclipse Cheなど、多くのIDEがTheiaのプレリリースに基づいてすでに構築されている。
TheiaプロジェクトのプロジェクトリーダーであるSven Efftinge氏は、フレームワークとしてのTheiaとMicrosoftのVSCodeの違いのいくつかを主張している:
Microsoftは、Visual Studio以外の製品をMicrosoftのマーケットプレイスからダウンロードしバイナリをインストールすることを禁止しています (規約を参照)。
ほとんどの拡張機能はオープンソースであり、Microsoftによって開発されたものではないことを考えると、それはかなり悲しい状況です。
この制限は、Theiaとそのすべてのダウンストリームアダプタに影響するだけでなく、VS CodiumなどのVS Codeのオープンソースコードに基づくリリースにも影響します。
VSCodeは自由に利用できるが、いくつかの非オープンソースコンポーネントがあり、テレメトリをMicrosoftに報告する。これにより、非オープンソースコンポーネントを削除したVSCodiumビルドが生まれた。ただし、コードのコンパイルとハイライトに使用するLanguage Server Protocolは自由に実装でき、他のIDEでも使用される。Theiaとその派生物でも同じアプローチが使用される。
利用できないのはMicrosoftマーケットプレイスである。これを解決するために、Eclipse Theiaプロジェクトは、Microsoftマーケットプレイスのオープンソース実装としてOpen VSXを作成し、オープンソース拡張のパブリックレジストリとしてopen-vsx.orgをホストしている。これにより、VS Code/Theia拡張機能をホストするオンプレミスソリューションも利用できる。
Theiaは約18か月間開発されており、GitHub、Gitlab、および(まもなく)BitBucketでホストされるプロジェクトを構築するためのWebベースのIDEを提供するGitpod.ioの後ろにあるフレームワークである。Gitpod.ioを使用すると、gitリポジトリをWebブラウザーで開いたり、ナビゲートしたり、編集したり、コミットしたり、実行したりできる。これは、コードを実行するためのDockerベースのランタイムと、コードを実行するためのシェルを提供する。Theiaは、CodeEnvy、Cloud9、Bespinなど、他のWebベースのIDEの経験に基づいている。
Eclipse Cheは、オンプレミスで実行でき、Kubernetesを使用してバックエンドをスケーリングする管理されたWebベースのIDEエクスペリエンスを提供する。Eclipse Cheは4年以上利用可能で、最初はGWTベースのIDEを使用していたが、7.0リリースのEclipse Theiaで実行するように切り替えて、GWTコードを再コンパイルする必要なく、実行時にプラグインをより柔軟にインストールできるようにしている。
Theiaは、ArmのmBed Studio、ArduinoのPro IDE、GoogleのCloud Shellエディタ、その他など、他の商用およびオープンソースのIDEでも使用されている。これらは同じコードベースを使用するが、Webアプリケーションとして、またはElectronランタイムを備えたローカルIDEとして実行できる。
Eclipse FoundationのエグゼクティブディレクタであるMike Milinkovich氏は、WebベースのIDE向けに標準化されたフレームワークを持つことの利点のいくつかを主張している:
Theiaは、コントリビュータ、コミッタ、およびTypeFox、Ericsson、Red Hat、ARMなどのサポート企業のさまざまなグループによって開発されています。過去3か月で50人を超えるコミッタとコントリビュータがいるこのコミュニティは、すべての人からの寄付が受け入れられる、動きが速く、歓迎的でオープンなコミュニティです。
TheiaはVS Codeに代わるものではありません。TheiaとVS Codeの主な違いは、Theiaは特に、最新のWebベースの開発者エクスペリエンスを構築および展開するために他の企業やコミュニティによって採用されることを意図していることです。VS Codeは素晴らしいですが、Microsoft製品になるだけです。
Theiaは、VS Code (同じMonaco Editorの使用を含む) と同じくらい見栄えがよく、VS Code拡張エコシステムを利用できる開発者ツールを作成したい人々によって修正、拡張、および配布されることを目的としています。もちろん、これはEPL 2.0の下でライセンスされているため、組織や個人がTheiaを使用して製品を構築および出荷するのは容易です。
Theiaがどのようなものか、何ができるかを知りたい場合は、Theiaが入ったGitPodでワークスペースを起動して確認できる。