TOPシステム開発> はじめに
Ruby on Rails入門
Ruby on Rails入門

第1回:Railsが注目されている理由
著者:アスタリクス  大西 正太   2006/5/24
1   2  3  次のページ
はじめに

   ここ最近Ruby on Rails(以下、Rails)というWebアプリケーションのフレームワークが注目を浴びています。ではRailsが注目される理由とはなんでしょうか。本連載では「Railsとは何か」から解説し、Railsを実際に動かしながら基本を押さえ、注目される理由を明らかにしていきます。
Railsとは

   RailsはDevid Heinemeier Hansson氏(以下、Hansson氏)が中心となって作成を続けているRuby製のオープンソースWebアプリケーションフレームワークです。まずはその概要について少し探ってみましょう。


成り立ち

   Railsは、2003年の夏にHansson氏が作成を開始して、2004年にはじめて一般に公開されました。

   それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」とHansson氏は語っています。そこで両者のいいとこどりをした「早くてきれいな」フレームワークを目指して開発をはじめ、現実のものにした結果がRailsなのです。


After Railsフレームワーク

   優れた特徴を持つRailsは、リリース後から現在にいたるまで爆発的に流行っています。ではどのくらい流行っているのでしょうか。そこでRailsにインスピレーションを受けて誕生した(とされる)代表的なフレームワークを表1にあげます。

言語 名称
Java Trails、Sails
Perl Catalyst
PHP Cake、Biscuit、PHP on Trax
Python Django、Turbo Gear
Groovy Grails
.Net MonoRail

表1:主要なAfter Railsフレームワーク一覧

   表1を見るとわかるように様々なプログラミング言語でRailsライクなフレームワークが実装されています。この影響力の大きさを見てもRailsの注目度を確信することができるでしょう。


コンセプトは「規約は設定に勝る」

   Railsがここまで多くの支持を得た理由は1つではありません。従来のフレームワークにはなかったいくつもの革新的な特徴が、相乗効果を生みだしたからだといえます(表2)。

名称 概要
Convention over Configuration 規約に則ることで様々な省力化をしてくれる
Don't Repeat Yourself 同じデータやロジックを重複させない
環境タイプ 開発・テスト・本番の3環境が準備されており各工程に最適な特性を持っている
ジェネレータ ソースコードの雛形生成ができる
フルスタック 画面周り、データ周りや自動テストなど、開発に必要な機能がオールインワンで入っている

表2:Railsを特徴付けるキーワード

   その中でも1点特筆するとすれば、Convention over Configuration(CoC)でしょう。CoCは「規約は設定に勝る」と訳されます。

   例えば、Railsでは「モデルクラスにはマッピングしたいテーブルの単数形を命名する」という規約があります。これに則って「CARS」テーブルとマッピングしたいクラスに「Car」という名称をつけるだけで自動的にO/Rマッピングされて簡単にデータベースアクセスできるようになります。

   もちろんCarクラスをKURUMAテーブルに明示的にマッピングするように「設定」することもできますが、その必要があるケースは少ないため、ほとんどの場合は設定の記述を省略できるのです。

   このように「80%のケースではRailsの規約解釈によって自動的にお膳立てしてもらい、残り20%のケースでだけ開発者が手動で明示的に上書き設定すればいい」という考え方がCoCです。規約に則っていればいるほど感動的なまでにソースコード量を削減できます。

   言い換えると「すべてのものに柔軟性を与える必要はない」という割り切りに基づく考えです。従来のフレームワークになかったものは、この「割り切り」であるといえるかもしれません。

1   2  3  次のページ


株式会社アスタリクス  大西 正太
著者プロフィール
株式会社アスタリクス  大西 正太
JavaEEフレームワークの設計構築や開発プロセス策定などの業務を経て、現在は新規ビジネス創生に携わる。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。

INDEX
第1回:Railsが注目されている理由
はじめに
  Railsのメリット
  Rails適用例