Ruby on Rails

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
Ruby on Rails

Railsアプリケーションデフォルトページ
開発元 Rails Core Team
最新版 2.1.1 / 2008年9月5日
対応OS クロスプラットフォーム
種別 Webアプリケーションフレームワーク
ライセンス MIT License
公式サイト http://www.rubyonrails.com
  

Ruby on Rails(ルビーオンレイルズ)はオープンソースWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されてるようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。

実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。 Railsの公式なパッケージはRubyのライブラリアプリケーションの流通ルートであるRubyGemsにより配布されている。

目次

哲学

Railsの基本理念は「同じことを繰り返さない」(DRY:Don't Repeat Yourself)と「設定よりも規約」(CoC:Convention over Configuration)である。

「同じことを繰り返さない」というのは、定義などの作業は一回だけですませろとの意味である。Railsはフルスタックのフレームワークであり、コンポーネントの統合は手動での設定を必要とせず自動で行われる。例えばRuby on Railsに組み込みのORMライブラリであるActiveRecordではクラス定義において、データベースから読み取るべき属性名等を指定する必要はない。ActiveRecordはRDBMSの表定義から自動的にその情報を取得する。従ってプログラムとRDBMSの両方にそれを定義するというような無駄な作業を行う必要はない。

「設定よりも規約」とは、標準的な設定は決まったルールに従い、共通でない部分の設定のみを行うようにするべき、ということである。

歴史

Ruby on RailsはデンマークのプログラマであるDavid Heinemeier Hanssonにより、プロジェクト管理ツール"basecamp"の開発に用いられた知見やコードを抽出し、一般化することにより作成された。最初のバージョンが2004年7月に公開され、バージョン1.0が2005年12月13日にリリースされた。 その後、バージョン2.0が2007年12月7日に公開された。

RoRのMVCアーキテクチャ

Rails上のMVCアーキテクチャは以下の通りである。(Action Packはこの内のViewとControllerのことを指している。)

Model

データベース駆動のMVC WebアプリケーションではModelはRDBMSのテーブルを表すクラスを意味する。 RailsではActive Recordを通じてModelクラスを扱う。通常プログラマはActiveRecord::Baseクラスのサブクラスを作る必要がある。そうすることでRDBMSのどのテーブルを使うべきか、どういったカラムを持つべきかを自動的に決定してくれる。

View

MVCではViewは表示のためのロジックであり、コントローラクラスからのデータをどのように表示するかを規定している。 WebアプリケーションではHTML内に若干のコードを埋め込むことで実現される。

Controller

MVCではControllerはRailsのAction Packには含まれるアプリケーションコントローラクラスによって扱われる。 WebベースMVCアプリケーションではWebブラウザを操作するユーザによりコントローラのメソッドが起動される。

関連項目

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net