TOP
>
システム開発
> はじめに
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適用例