「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部)
本記事は2006年に執筆されたものです。RubyやRuby on Rails全般の最新情報は@IT Coding Edgeフォーラムをご参照ください。
Ruby on Rails(ルビーオンレイルズ:RoRと略されることもある)は圧倒的な開発効率を誇るWebアプリケーション開発のためのWebフレームワークです。Railsの用意した道のりに沿って開発することで、短時間で高機能なWebアプリケーションを構築することができます。
Javaのサーバサイドアプリケーション開発に慣れた人であれば、MVC(Model-View-Controller)フレームワークであるStrutsとO/RマッピングフレームワークのHibernate、Dependency Injection(DI)フレームワークであるSpringの3つを組み合わせたような統合フレームワーク風のものであるといえばピンと来るでしょうか?
Ruby on Railsはデンマーク在住、37singals社のDavid Heinemeier Hansson氏が開発したWebフレームワークです(37signals社はToDoリスト管理のTa-da ListsやBackpackといった簡単で使いやすい管理ツールをASPで提供する企業)。
Ruby on Railsはその名前どおり、オブジェクト指向のスクリプト言語Rubyをベースにしたフレームワークです。Rubyは日本のまつもとゆきひろ氏が開発。Ruby on Railsの登場とともに現在米国で高い注目を集めているスクリプト言語です。
Ruby on Railsは、単機能Webサーバと、データベースの設定も含めた、サービスを実際に動作させるまでの手続き、設定がスムーズに素早く、簡単にできることが最大の特長です。何より面倒な設計や設定なしに、データベース上の必要な項目と、ユーザーインターフェイスが直結している感覚が開発者の心をとらえている理由です。
まずは、Ruby on Rails のサイトで公開されているスクリーンキャスト(コンピュータの操作を動画で説明したもの)をご覧になってみてください。その開発の素早さ、簡単さに納得するはずです。
David Heinemeier Hansson氏いわく、Railsの中に組み込んだ「黄金の道(golden path)」に沿って開発を行うととても生産性が向上するとのこと。ある意味Railsは一般的なプログラミング言語が持つ柔軟性を無視することによって、開発開始から完成までのスピード感を得ているともいえます。
Railsの利点でもあり、人気を博している理由は以下の点です。
Railsが誕生してまだ間もないですが、AjaxやWeb 2.0との関係からも急に注目を浴びるようになってきました。新参者であるRailsは、その利点ばかりが取り上げられやすいですが、一方Railsの弱点と思われる部分に関しても着目しておきましょう。
Java EE(Enterprise Edition)やLinux/Apache/Perlの組み合わせであれば、ある程度経験則に基づいた大規模化へのスケールの方法が確立されています。Railsの場合、サービスのスモールスタートは簡単ですが、そのサービスがいきなり大量のユーザーを抱えた場合、どう大規模化するかといったことが課題として認識されています。もちろんサービスの規模だけではなく、開発メンバーの数についても同様です。
Rails自身が開発環境であるとの見方も、やはりユーザーインターフェイスの整った開発環境が整ってこそ、多くの開発者に使われるようになってくるといえます。そこで、現在可能な範囲でのRuby on Rails統合開発環境をいくつか紹介しましょう。
●Komodo:ActiveState社(http://www.activestate.com/Products/Komodo/)
Ruby on Railsのデバッグを統合開発環境から行えることが特長です。
●RadRails(http://www.radrails.org/)
Eclipseプラグイン環境に構築されたRuby on Rails用統合開発環境。管理フェーズ、試験フェーズ、デプロイメント工程の作業が充実している。開発時に利用する単機能WebサーバであるWEBrickサーバのコントロールも可能。
ここしばらくRailsは、まだ混沌とした状況が続くと思われます。「○○みたいなサービスが○○分でできた!」などの売り文句のみが注目を浴びる時期が続くと思いますが、その本質を見失ってはいけないでしょう。
今後、有益な比較的大規模で使いやすいアプリケーションが広まり、それが実はRuby on Railsで開発されていたのだとうわさが広まる。Railsのテクノロジがサービスの後ろに隠れたときが、初めてその価値が認められたときだと考えられます。
これからRailsに期待されるのは、やはり開発のためのドキュメント、ノウハウなどの情報や実績、大規模アプリケーション開発への道筋でしょう(比較的小さなWebアプリケーションを素早く立ち上げることができるのがRailsの利点であるともいわれており、必ずしも大規模アプリケーションを開発できることが必須な要件であるとは考えませんが……)。
Railsが今後末永く、さらに広範囲で使われるようになるためには、「大規模」「多言語対応」といったキーワードは無視できないでしょう。
「親の敷いたレールには乗りたくなかった!」とは、何かのテレビドラマか偉人伝にでも出てきそうなせりふですが、ここはひとつ、これからRuby on Railsのレールにうまく乗ってみてはいかがでしょう?
■関連書籍
安藤幸央(あんどう ゆきお)
1970年北海道生まれ。現在、株式会社エクサ マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元 CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG の情報源となるWebページをまとめている。
ホームページ:
http://www.gimlay.org/~andoh/java/
所属団体:
OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman)
主な著書
「VRML 60分ガイド」(監訳、ソフトバンク)
「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社)
「The Java3D API仕様」(監修、アスキー)
Copyright © ITmedia, Inc. All Rights Reserved.