BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebベースのIDEは主流になるか?

WebベースのIDEは主流になるか?

先日(2009年2月12日)Mozillaがコード編集用のWebベースフレームワークであるBespin(リンク)をリリースした。そしてその数日後にはBoris Bokowski氏とSimon Kaegi氏がヘッドレスな(GUIをもたない)Eclipseプラグインを使ったBespinサーバ(リンク) を実装した。EclipseConでのWebベースのEclipseワークベンチのプレゼンテーションや、WebベースのIDEでありRuby on Railsアプリのホスティング環境でもあるHeroku(リンク)のような製品のリリースがあったことからすると、WebベースのIDEはすぐにでも主流になりそうだ。

MozillaがBespin (リンク)で目指すのは、ディベロッパの生産性を向上させ、人を引きつけてやまないユーザエクスペリエンスを可能にし、オープンスタンダードの利用を促進するために、コード編集用のオープンで拡張可能なWebベースフレームワークを実現することだ。

数百人のディベロッパとのディスカッション、および私たち自身のOpen Webの開発経験から、高い目標を掲げた機能セットを提案するに至りました。

  • 手軽さ - 編集する人に面倒がらせるようであってはならず、コードにすぐに取りかかれるようでないといけない。
  • リアルタイムなコラボレーション - 仲間とリアルタイムでコード編集を共有ことが簡単で、何も考えなくても一人あるいは複数人でコーディングすることができないといけない。
  • コマンドラインを備える - viやEmacsのようなツールはコマンドラインを備えることのパワーを示してきた。Bespinも同じことができるべきである。
  • 拡張可能性とセルフホスト(各自でホスト環境を実装できる) - Bespinのインターフェースと機能は優れて拡張可能であり、かつUbiquity(リンク)(コマンドラインを手軽に実行するFirefox拡張)風のコマンドやプラグインAPIによってユーザが容易にアクセスできるものでないといけない。
  • すこぶる速い - 巨大なサイズのファイルでもスムーズに編集できるようでないと単なるおもちゃにすぎない。
  • どこからでもアクセスが可能 - どこからでも、どのデバイスからでも、標準に準拠したブラウザを使えば利用可能なコードエディタでないといけない。

Bespinの現在のバージョンはまだプロトタイプの0.1で、基本的な機能のみサポートされている。その機能には、構文ハイライト、巨大ファイルの扱い、Undo/Redo、ブラウザでのファイルのプレビュー、プロジェクトのインポート/エクスポートなどがある。

Bespinについてもっと知りたい場合は、デモを試してみる(リンク)、あるいはソースコード(リンク)を見てみるといいだろう。

Bespinのリリースからたったの数日後、Boris Bokowski氏とSimon Kaegi氏がEclipseコンポーネントを使ったEclipseベースのBespinサーバ(リンク)を実装した。

私たちはEclipseでBespinが使えたら便利じゃないか?既にあるEclipseプラグインを使って自分たちがBespinサーバを作ったらすごくないか?と考えました。

そうしたら2日の開発時間でEclipseベースのBespinサーバができてしまったのです!

Simon Kaegi氏(リンク)と私はその開発のために部屋に閉じこもりました。私たちはその成功をここに宣言し、コードをe4プロジェクト(次期Eclipse)の一部として興味ある人すべてと共有することにします。もしいろいろやってみたい方は、このWikiページ(リンク)を見てください。

ご存知のようにEclipse IDEはOSGiベースのアプリケーションで、全体がコンポーネント(プラグインやバンドルと呼ばれます)から成り立っています。そして基盤となっているリソースモデルやインクリメンタルなJavaコンパイラといった多くのIDEコンポーネントがヘッドレス(GUIなし)で動かせたり、サーバ上で動かすことができるようになっています。ヘッドレスなコンポーネントのおかげで、Bespinのクライアント-サーバAPIの実装は非常に簡単でした。 MozillaのBespinサーバと同じように、私たちのサーバもファイルやフォルダを見たり、ファイルを編集することができます。これに加え、コンパイルエラーや警告の表示、匿名CVSを使ったCVSサーバからのチェックアウトといった機能も実装しました。
 

このプロジェクトは次世代のEclipseプラットフォームに取り組むe4コミュニティにおいて作業が継続していて、Bespinのクライアント-サーバAPIの実験版が提供されている。
 

この方面の製品として挙げることのできるHeroku(リンク)は、WebベースのIDEかつRuby on Railsアプリケーションのホスティング環境であり、次のような特徴 (リンク)がある。

  • 即時デプロイ
  • オンライン編集
  • Gitをサポート
  • 手軽に可能なコラボレーション
  • フルスタック
  • 融通性のあるパフォーマンス
  • Railsコンソール
  • コマンドラインによるコラボレーション
  • その他多数

Heroku(リンク)がEclipseのコミッタであるElias Volanakis氏に与えた第一印象はかなり良かったようで、彼はJavaでも同じようなことができないだろうかと思ったようだ(リンク)

アプリがウェブ上にあり、ソースがすなわちバイナリである(Rubyはインタプリタ型です)のなら、IDEもウェブにあっていいはずではないでしょうか?ツールやコード、そして実行環境がすべてオンラインにあれば多くのことが容易になります。

  • 手軽に始められる:ソースコードにはどこからでも簡単にアクセスできます。IDEのセットアップはいりません。Ruby on Rails環境のセットアップもいりません。コードをチェックアウトする必要もありません。データはどこでも手に入るのです。
  • 手軽なコラボレーション:ある人のためにアカウントを作ります。そしてログインページのリンクをその人に送ります。それでコラボレーションが始まります。(できれば共同作業がおこなわれるといいですね)。
  • アプリのデプロイがすぐできる:正しいサーバを見つけ設定する必要はありません。
  • 全てをホストしていることで、ホストでのソース展開が素晴らしいものになる可能性がある:気になったウェブアプリケーションを見つけたときに、「マイアカウントにデプロイして実行」ボタンをクリックするだけで「試乗」ができたらどんなにいいか想像してみてください。

こういったことはRubyによく適したものだと思いますし、「試乗」(リンク)ができるようにしたいと思っています。

では、これをJavaのWebアプリにも適用するにはどうすればいいでしょうか?

 

この分野での別の興味深いプロジェクトがcodepad (リンク)だ。これはオンラインのコンパイラ/インタプリタで、シンプルなコラボレーションツールだ。

codepad.orgはオンラインのコンパイラ/インタプリタで、シンプルなコラボレーションツールです。codepadはペーストビン(pastebin:テキストやコードを共有するサービス)の一種ですが、そこに貼られたコードを実行してくれます。自分の書いたコードを貼り付けると、codepadがそれを実行し共有するためのURLを作成します。このURLをチャットやemailで貼り付ければ、相手がどうすればいいかを手助けしたり、相手にどうすればいいかを見せることができます。あるいは手元にインタプリタがない時にcodepadを使うこともできます。またcodepadは多くの携帯電話で動作します。

 

WebベースのIDEは他にもあり、それぞれ成熟度や特徴が違う。

これら新しいプロジェクトが出てきている中、 みなさんはWebベースのIDEは近い将来ありふれたものになると思われるだろうか?

原文はこちらです:http://www.infoq.com/news/2009/02/web-based-ide

この記事に星をつける

おすすめ度
スタイル

BT