Bespinとは?

Bespinとは、Mozilla Labsで開発されている拡張可能なWebベースのソースコードエディタだ。本稿執筆時点での最新バージョンは0.2.2であり、まだまだ実験的なプロジェクトではあるものの、2009年1月の発表以来、急ピッチで開発が進められている。

筆者はBespinがすぐに実用化可能かというと疑問だが、大きな可能性を秘めたプロダクトだと感じている。今回はBespinの概要と、Bespinによってもたらされるであろう未来の開発環境の変化について考えてみたい。

Bespinに触れてみよう

それでは実際にBespinに触れてみよう。BespinのWebサイトではユーザ登録を行うことで実際にBespinの動作を試すことができる。なお、Bespinの動作にはFirefox 3.xもしくはGoogle Chrome、Safariの開発版が必要となる。Firefox 3.xを使用するのが手っ取り早いだろう。

図1 ユーザ登録

ユーザ登録を行い、ログインすると以下のようなダッシュボードが表示される。画面上段にはディレクトリ階層をたどるためのリスト、下段には開いているエディタセッションが表示されている。

図2 ダッシュボード

ファイルもしくはセッションをダブルクリックすると、ファイルがエディタで開かれる。エディタではソースコードが強調表示されて表示される。強調表示をサポートしている言語はHTML、JavaScript、CSS、PHP、Pythonなど、まだそれほど多くはない。

コピー&ペースト、アンドゥ、リドゥ、検索などエディタとしての基本的な操作はすでにサポートされており、巨大なファイルを開いても比較的軽快に動作する。また、編集中のファイルをブラウザで表示することもできる。HTMLファイルを編集している場合に便利な機能だろう。ただし、残念なことにエディタでは日本語を入力することができない。

図3 エディタ

エディタの下端にある領域ではコマンド入力を行うことができる。これはEmacsのミニバッファと同じ感覚だ。たとえばlsと入力すれば現在エディタで開いているファイルと同じ階層にあるファイルの一覧が表示されるし、newfileコマンドでファイルを新規作成することもできる。コマンドの入力中に候補を表示してくれたり、TABキーで補完が効いたり、上下キーでヒストリをたどることもできるなど、なかなか高機能だ。コマンドはJavaScriptコードによって追加することも可能だ。

図4 ミニバッファ

現行の0.2.xではバージョン管理システムとの連携機能も実装されており、ミニバッファでvcsコマンドを使用することでコミット、アップデート、差分確認といったバージョン管理システムを利用するうえで必要な一連の操作を行うことが可能になっているようだ。

近未来の統合開発環境?

現時点でのBespinはまだまだ機能面で不足している部分が多く、実用レベルに達するにはまだまだ時間が必要そうだ。しかしWebベースの実用的なIDEが近い将来登場してくるのでは、という予感を抱かせるには十分なものだ。

WebベースのIDEが利用できるようになれば、Webブラウザさえあればどこからでも開発可能な環境を実現することができる。ここ数年ほどの間にAjaxやクラウド技術によって、メールからワープロ/表計算のようなオフィススイートまで、Webブラウザさえあればさまざまなサービスを利用することができるようになった。将来的には開発環境すらサービスとして利用できる時代になるかもしれない。

実際にはすでにWebベースのIDEはいくつか登場してきており、Ruby on Railsのホスティングサービス兼開発環境を提供するHerokuなどがある。また、BespinのサーバサイドをEclipseで実装したe4 Bespin serverといった試みや、EclipseRCPアプリケーションをAjaxベースのWebアプリケーションとして動作させるRich Ajax Platformといったフレームワークなど、技術要素は揃っている。すでにWebベースのIDEは手にとどくところまできているといえるのではないだろうか。

Bespinのソースコードは分散バージョン管理システムであるMercurialで管理されており以下のURLから取得することができる。興味のある方はソースコードをチェックしてみるといいだろう。