Cloud IDE は AWS Cloud 9 や CodeSandbox を時々使っています。
去年の初め頃、各種 Cloud IDE を比較してました。
その後 Eclipse Che をホストしていた Codenvy は Red Hat に買収されてからは更新されていないようです。Codeanywhere も無料枠が無くなっていました。
そして先日、Eclipse Che 7 がリリースされました。 Kubernetes と OpenShift で稼働すること、VS Code ベースの Web IDE である Theia に移行したというのがメインのトピックとなっています。
実はリニューアル前の Eclipse Che は仕事でかなり触っていて、独自のプラグインなどを作成したりしたので馴染みがあります。その時は GWT で IDE 内のウィジェットを作る必要がありました。 Web UI なのに Java で書いてヘビーなビルドパイプラインを実行する必要がありました。Theia ではそのあたりもモダンになっていることでしょう。
Red Hat は OpenShift.io で Che をホスティングしており、Red Hat Developer にサインアップすれば利用することができます。
RHEL の開発者ライセンスやナレッジベースが使えるので入っても損はなさそうです。
このサイトを開くとローディングが開始されます。途中 Red Hat Developer へのログインを促されます。
しばらく待つと Che のダッシュボードが開き、Workspace 作成画面になります。
この UI は Codenvy と変わっていませんが、利用できる Stack (Workspace のテンプレート) に .NET Core / Go / Python 3.6 / Spring Boot などが追加され、現在主流の言語・フレームワークをカバーしています。
Go の環境を作ってみます。Stack を選んで CREATE & OPEN ボタンを押すと構築が開始されます。
Docker コンテナのイメージがビルドされ起動されます。
準備ができると、Theia ベースのワークスペースが現れます。ほぼ、VS Codeですね。
メニューからターミナルを開くと、コンテナにアタッチした bash が起動します。
user というユーザでログインしており go の環境も設定済みです。
もちろん git clone でリモートのリポジトリを取得して開発できます。
VS Code と同様 LSP ベースのコード補完も有効です。
VS Code の Remote Containers の環境がブラウザ内で使えるような感覚ですね。
Workspace の設定で、プラグインの追加や Editor の切り替えもできます。
CodeSandbox と違ってフロントエンドだけではなくフルスタックの開発も可能です。現時点では PWA 対応はされていませんが、今のところ無償のようですし Chrome が動けば使えるということで実用性は高いと思います。