eXo Cloud IDEからCodenvyへ

Codenvyは、もともとクラウドサービスを提供するeXoで開発されていたeXo Cloud IDEからスピンオフして設立された企業で、様々な言語やクラウドプラットフォームに対応したWeb IDEを提供している。

図1 : CodenvyのWebサイト

Codenavyは無償で使用できるが、利用にはメールアドレスの登録が必要だ。また、非公開のプロジェクトの作成や、専用VMによるビルド、チームマネージメントなどの機能を利用可能な有償版、さらにイントラネット内に設置して利用可能なCopdenvy Enterpriseも用意されている。

Codenvyがサポートしているプラットフォーム

CodenvyはPaaS上で動作するWebアプリケーションの開発に主眼が置かれており、以下の言語とPaaSがサポートされており、プロジェクトの作成時に選択できる。

プログラミング言語

  • Java
  • JavaScript
  • Ruby (Ruby on Rails)
  • Python
  • PHP
  • Node.js

PaaS

  • CloudBees
  • CloudFoundry
  • Tier3 Web Fabric
  • Appfog
  • Heroku
  • OpenShift
  • Google App Engine
  • Elastic Beanstalk

図2 : プロジェクトの作成

Javaに関してはMavenによるビルドがサポートされており、Springを使用したプロジェクトや、JARライブラリの開発もサポートされている。言語によって提供されている機能は異なるものの、ここまで幅広いプラットフォームをサポートしているWeb IDEは現時点ではCodenvyだけといっていいだろう。

Codenvyの主な機能

Codenvyの見た目はEclipseに似ている。普段Eclipseを使ったことのあるユーザであれば、違和感なく利用できるだろう。Javaであればコード補完や即時エラーチェックに加え、Javaであればインポート文の自動編成やコンストラクタやアクセサメソッドの自動生成などが可能だ。

図3 : コード補完

ただし、ソースにエラーがある場合、エディタ上ではエラーマーカーが表示されるものの、Package Explorerにはマーカーが表示されず、エラーを一覧表示するようなビューも存在しないため、どこにエラーがあるのかはビルドしないとわかりにくい。また、ビルドを実行した場合は問題ないにも関わらずエディタ上ではエラーとして表示されてしまう場合があった。

なお、現状ではエディタで日本語を入力することはできず、大きなファイルの場合は入力が遅れるなどの問題も見受けられた。言語によってもサポートされている機能が異なり、Java以外の言語では補完が弱かったり、エラーチェックなどの機能が利用できない。今後の改善に期待したいところだ。

Codenvy上からはHerokuやGoogle App Engine、Elastic Beanstalkなど主要なPaaSへのデプロイが可能だ。PaaSにデプロイせずにCodenvy上でWebアプリケーションの動作を確認することもできる。

図4 : Gitの履歴ビュー

CodenvyはGitにも対応している。Codenvy上で新しくリポジトリを作成することもできるし、外部のリポジトリからクローンすることも可能なので、Codenvy上で開発環境を完結させる必要がなく自由度が高い。ただし、Gitに関しては最低限の操作は可能なものの、GUIのGitフロントエンドとしては不足している機能が多く、細かい作業までCodenvy上で完結させるのは難しいのではないかという印象だ。

まとめ

Codenvyは数あるWeb IDEの中でも高機能なもののひとつだ。Web IDEは以前から様々なプロダクトが登場してはいるものの特定の用途に特化したものが多い。Codenvyは様々な言語、PaaSをサポートしていること、Javaに関してはMavenに対応しておりWebアプリケーションだけでなくライブラリの開発も可能など活用範囲が広い。

一方で、これは他のWeb IDEにも言えることだが、やはりスタンドアロンのIDEと比較するとまだまだ不足している機能は多い。筆者自身も日常的にWeb IDEで開発を行うのは不可能だと感じているのが正直なところだ。Codenvyがこの壁をどう越えてくるのかに注目したい。