Saturday, February 11, 2006

海外で人気沸騰,Ruby on Rails


人気沸騰のWebアプリ・フレームワーク『Ruby on Rails』

今週は「Ruby on Rails」(ルビー・オン・レイルズ)というWebアプリケーション・フレームワークについて記事を書きました。

Webアプリケーション(Webアプリ)とは,我々のパソコンの中に入っているアプリケーション・ソフトとは違って,ネットを利用する際,向こう側のサーバー上で動いているアプリです。またこの場合のフレームワークとは,そうしたWebアプリの開発/基盤です。

例えば我々がGoogleやYahoo!で検索すると,検索結果や過去の検索履歴,また広告なんかを表示したりします。また,Amazonで本やDVDを買うと「それを買った人は他にこれも買いましたよ」なんて提案したります。こういうことをやっているのがWebアプリです。

これ以外にもWebメール・サービスや,最近はRSSフィードといって別のサイトのニュースの見出しを自分専用のサイトに表示してくれるものもあります。mixiなどのソーシャルネットワーク・サービスもそうですよね。これらはユーザー側に特別なソフトは不要,Webブラウザーさえあれば,どんなパソコンからも利用できます。ブロードバンドの時代,動作も速くなりました。パソコンさえネットにつながっていれば,いつでも利用可能。こうしたことから,Webアプリの用途はどんどん広がっています。

そして,Ruby on RailsはそうしたWebアプリを,1人や2人といった少人数で短時間できれいに開発できるフレームワークとして,今,脚光を浴びています。Ruby on Railsは大規模なサイトには不向きなのですが,昨今のライトウエイトのプログラミング・モデルというトレンドも手伝って,大変注目されています。

以前,Webサイトはホームページなどと呼ばれ,リンクという機能を除いてはほとんど「紙面」と同じでした。そうしたホームページでは,リンクをクリックすると常にページ全体をリロードしていました。つまり毎回ユーザーはその数秒間待たされていました。しかし今,状況は変わりつつあります。

例えば,マウスポインタを持っていくだけで(クリックすることなく)プルダウンメニューが表示されたり(例:プロ・サッカーチームのサイト),"ぐりぐり"滑らかに動く地図(ページ全体でなく地図部分だけ)のサービスを提供するサイトも登場してます(例1:トリノの衛星写真/例2:ナイアガラの滝の衛星写真=いずれもGoogle Local)・・。

実は,これらは,Ajax(エイジャックス)と呼ぶ手法を用いています(解説記事)。Ruby on RailsではそんなAjaxのサイトを,煩雑な作業を必要とせず作ることができるフレームワークなのです。しかもクールなものが簡単にできるという定評もあります。

◇  ◇  ◇  ◇  ◇  ◇

しかし,こう考えるとWebは,もはや完全にかつてのホームページではありませんね。もちろん単なるWebサイトでもなくなってきました。それは,サービスです。こうしたサービスには人々が集まり,知識を共有しあっています。またそれらは日々増大しています。自己繁殖的に。なんかマトリックスとかターミネーターのようにも聞こえるかもしれませんが,違うのは,あくまでも人間が主役ということだと思います。

つまりTim O'Reilly氏が提唱する次なるWebの世界「Web 2.0」でしょうか。 「巨大な共同作業」「知能の集合体の活用」(関連記事)という感じがしてます。

以下はRuby on Railsで作られたサービスです。なかなかおもしろいものばかりですよ!
・「Basecamp」プロジェクト管理/協調作業支援サービス
・「Backpack」個人や企業向けの情報整理サービス
・「Ta-da List」共有可能なTo-Doリスト
・「43things」目標共有サイト(これ,おもしろいですよ!)
・「ODEO」オリジナル・オーディオ・コンテンツの共有サービス
・「CalendarHub」カレンダー/予定表共有サービス

※このほかにもまだまだありますよ
Railsの公式Wikiにある採用サービス紹介ページ「RealWorldUsage