写真1●37signals社が提供するプロジェクト管理/協調作業支援サービス。To-Doリスト,ファイル共有,タスク時間管理といった機能を備える。月額12~99ドルの有料サービスのほか,無料版も用意している
写真1●37signals社が提供するプロジェクト管理/協調作業支援サービス。To-Doリスト,ファイル共有,タスク時間管理といった機能を備える。月額12~99ドルの有料サービスのほか,無料版も用意している
[画像のクリックで拡大表示]
写真2●43thingsのトップページ。個々の目標にはタグ付けしたり,リマインドなどの設定もできる
写真2●43thingsのトップページ。個々の目標にはタグ付けしたり,リマインドなどの設定もできる
[画像のクリックで拡大表示]

 Webの世界はこれまでの,送り手が一方的にパブリッシュするというものから,ユーザーや開発者が参加する「知能の集合体」へと移行しつつある---前回の本コラムではそんな「Web 2.0」の世界について考えた(関連記事)。

 こうして新たなWebアプリケーションが注目される中,今一躍脚光を浴びているWeb開発フレームワークがある。「Ruby on Rails」だ。

 「簡単で迅速に開発できる」「クールなWebアプリができる」などと称賛されている。今後のWebの動向を占ううえでも鍵となるフレームワークと言えるだろう。今回は国内外のサイトを訪ねて,開発者のインタービューなどRuby on Railsに関する情報を集めてみた。

Ajax,Web 2.0,そしてRails

 Ruby on Rails(「Rails」や「RoR」とも呼ばれる)は,ネットワーク応用通信研究所のまつもとゆきひろ氏が開発した国産のスクリプト言語「Ruby」で記述されたWebアプリケーション・フレームワークだ。開発したのは,デンマークのコペンハーゲンに住むDavid Heinemeier Hansson氏。

 同氏がこのRailsを一般公開したのは2004年の7月のこと。それからわずかの期間で,海外の多くのサイトが採用を始めた。

 昨年は,OSCON(オープンソース技術に関するカンファレンス)でRailsの功績を称えられ,Hansson氏はGoogle-O'Reillyオープンソース・アワードのBest Hacker賞を受賞した(関連情報)。また12月には「Ruby on Rails 1.0」を正式公開(関連記事)するなど,2005年はRailsにとって話題多き年となった。

 はてな取締役最高技術責任者である伊藤直也氏も自身のダイアリーで,RailsはAjax,Web 2.0と並び「2005年のWebテクノロジの世界でもっとも際だった言葉」と述べている。いかにそのインパクトが大きかったかがうかがえる言葉だ(掲載ページ)。

「早くてきれい」を目指す

 Hansson氏がRailsの開発に着手したのは2003年の夏。開発のきっかけは,同氏が米37signalsという企業に加わったことにある。

 同氏はこの企業のパートナーとして「Basecamp」と呼ぶ,Webベースのプロジェクト管理ツール(写真1)を開発した。同氏はこの開発過程でRubyに出会った。

 O'Reilly Networkに掲載の同氏のインタビュー記事によれば,このBasecampの開発当初,同氏はRubyではなくPHPを使っていた。しかしあまり満足できず,「もしこのWebアプリケーション開発の仕事が今後も続くのであれば,自分が最も気に入ったツールを使う必要がある」と思うようになったという。そこでRubyを使ってみたら,同氏にぴったりフィットすることがわかり,もはやPHPには戻れなくなったという。

 そもそも同氏はPHPで開発を行っていた人。そこでは何よりも早く成果を出すことが重要で,迅速な開発に専念していたという。その一方で同氏は大学でJavaを学んでおり,J2EEの仕事の経験も持っている。こちらでは,コードの"清潔さ"や保守性に気を遣わなければならないということを学んだ。このときのことを同氏は振り返って「私は,広く普及している2つの開発手法がまたがる部分にいた」と説明する。また同氏はその2つの開発手法について,「PHPに代表されるような"早いが汚い手法"と,Javaに代表されるような"遅いけれどきれいな手法"」とも表現している(掲載記事日本語翻訳)。

 両方のバックグラウンドを持つ同氏はこれら2つのよいところを組み合わせ「早くてきれい」を目指した。その結果誕生したのがRuby on Railsというわけである。

Rails生まれのWebアプリが続々

 Hansson氏が属する37signals社ではBasecamp(写真1)以外にも,「Backpack」「Ta-da List」というサービスを提供している。前者は個人や企業向けの情報整理サービス。後者は共有可能なTo-Doリストだ。これは本コラムで触れたWeb 2.0の実例紹介サイト「The Best Web 2.0 Software of 2005」にも取りあげられているサービスである。もちろんこれらはRailsで作られている。というよりもHansson氏がこれらの開発のためにRailsを作り上げたというのが正しい表現になる。

 Hansson氏がRailsを公開した後,Railsを採用したサービスは瞬く間に広がっていった。

 中でも早い段階で登場したのが「43things」(写真2)。これはHansson氏が秀逸と褒めるお墨付きのサービスだ。43thingsは,参加しているユーザー同士で目標を共有できるというもので,今大成功を収めているという。

 このサービスでは,ユーザーが,例えば「フランス語を学びたい」といった目標を投稿する。するとこれを見て自分も同じと思った他のユーザーは,それを自分の目標ページに加えることができる。このときの操作は「I want to do this」というボタンを1回クリックするだけと簡単。また目標は「体重を減らす」や「家を購入する」など具体的なものから「幸せになりたい」など漠然としたものまで何でもOK。目標にはタグ付けもできる。「お金」「健康」といった具合だ。これにより似たような目標を持つユーザーを探しやすくなる。同じ関心を持つ人々の輪がどんどん広がっていくというわけである。

 Railsを使って開発された知名度の高いサービスには,「ODEO」というのもある。こちらはオリジナル・オーディオ・コンテンツの共有サービス。ポッドキャスト配信やコンテンツの共有/検索機能のほか,ブラウザー/電話を介して録音し,コンテンツの作成ができる機能も提供している。

 実は事例はこのほかにもまだまだある。Railsの公式Wikiにある採用サービス紹介ページ「RealWorldUsage」を見ると実に多くのサービスが存在していることが分かり,大変驚かされる。

キラー・フレームワーク従え一躍有名に

 Ajaxを使ったリッチなユーザー・エクスペリエンス,そしてライトウエイトのプログラミング・モデル。これらはTim O'Reilly氏が定義するWeb 2.0の要素(O'Reilly氏著「What Is Web 2.0」)。Railsはそんな性質を備えているようだ。Railsは,設定ファイルが不要で,コードの自動生成といった特徴を持ち,開発期間の大幅な短縮が可能(参考:rubyonrails.comに掲載のムービー「15分でブログ・エンジンを作成」/増井雄一郎氏サイトの「10分で作るRailsアプリ for Windows」)。

 そんな高速開発環境はRubyをも一躍有名にした。Rubyは,小規模Web開発の場で,Perl/PHP/Pythonの三強言語と肩を並べる存在になってきたと言えるのかも知れない。国産のスクリプト言語がRailsというキラー・フレームワークを従え,今,世界で注目されている。

■著者紹介:小久保 重信(こくぼ しげのぶ)
ニューズフロント社長。1961年生まれ。98年よりBizTech, BizIT,IT Proの「USニュースフラッシュ」記事を執筆。2000年,有限会社ビットアークを共同設立し,「日経MAC」などに寄稿。2001年,株式会社ニュー ズフロントを設立。「ニュースの収集から記事執筆・編集など,IT専門記者・翻訳者の能力を生かした一貫した制作業務」を専門とする。共同著書に「ファイ ルメーカーPro 職人のTips 100」(日経BP社,2000年)がある。