Ruby_on_Rails
[Wikipedia|▼Menu]

Ruby on Rails
Railsアプリケーションデフォルトページ
開発元Rails Core Team

最新版7.1.3 / 2024年1月16日 (3か月前) (2024-01-16)[1]
リポジトリ

github.com/rails/rails

プラットフォームクロスプラットフォーム
種別Webアプリケーションフレームワーク
ライセンスMIT License
公式サイトrubyonrails.org
テンプレートを表示

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

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

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

「同じことを繰り返さない」というのは、「定義などの作業は一回だけで済ませろ」との意味である[2]。「設定よりも規約」とは、「慎重に設計された規約(Convention)に従うことにより、設定(Configuration)を不要にする(あるいは軽減する)」ということである。Railsはフルスタックのフレームワークであり、コンポーネントの統合は手動での設定を必要とせず自動で規約に従い行われる。例えば、Ruby on Railsに組み込みのORMライブラリであるActive Recordでは、クラス定義においてデータベースから読み取るべき属性名等を指定する必要はない。Active RecordはRDBMSの表定義から自動的にその情報を取得する。したがって、プログラムとRDBMSの両方にそれを定義するというような冗長な作業を行う必要はない。
歴史

Ruby on Railsはデンマークプログラマであるデイヴィッド・ハイネマイヤー・ハンソンにより、プロジェクト管理ツール "Basecamp" の開発に用いられた知見やコードを抽出し、一般化することにより作成された。

2004年7月 最初のバージョン公開

2005年12月13日 バージョン1.0リリース

2007年12月7日 バージョン2.0リリース

2010年8月29日 バージョン3.0リリース

2013年6月27日 バージョン4.0リリース

2016年6月30日 バージョン5.0リリース

2019年8月15日 バージョン6.0リリース

2021年12月15日 バージョン7.0リリース

2004年の登場以後、Ruby on Railsのコンセプトは他のフレームワークにも大きな影響を与えている。Ruby on Railsの影響を受けたフレームワークとしては、PHPCakePHPSymfonyPerlCatalystgroovyGrailsNode.jsのYEOMANといったものがある。
Railsの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ブラウザを操作するユーザによりコントローラのメソッドが起動される。
Merb

Merb作者エズラ・シグモントビクス
開発元ヤフーダ・カッツ

最新版1.1.2[3] / 2010年6月17日 (13年前) (2010-06-17)
リポジトリ

github.com/rails/rails

プログラミング
言語Ruby
対応OSクロスプラットフォーム
種別Webアプリケーションフレームワーク
ライセンスMIT License
公式サイト ⇒www.merbivore.com
テンプレートを表示

Merb(Mongrel(英語版)とErbの造語[4])とは、2008年12月23日にRuby on Rails 3.0のリリースの一環として[5]Rails Webフレームワークに統合された[6]Webアプリケーションフレームワークである。
特徴

MerbのプロジェクトはRuby on Railsのコントローラースタックにおけるクリーンルーム実装[7]として始められたが、Railsの精神や方法論から派生した数あるアイデアを組み込むまでに成長した。

Merbはコンポーネントにモジュール性を持ち、伸張性のあるAPIデザインや垂直スケーラビリティを有している。MerbはRails以上にフレキシブルで処理が早いフレームワークにしようと考えられていた[6]

2008年12月23日、Rails3にこれらの機能のほとんどを組み込むことが発表された[8][9]
モジュラリティ

モデル、ビュー、コントローラーアーキテクチャのコントローラーレイヤーのみを適切に内包するが、Webアプリケーションフレームワーク全体で一斉に動作する技術のより大規模なスイートのための統合ポイントを提供している。Railsとの統合の主なトピックはWebサーバインターフェイス、MVCモデルレイヤー、MVCビューレイヤー、最後にコントローラーエクステンションとアドオンである。また既定のアプリケーションスタックはモデルレイヤーではデータマッパー(英語版)、ビューレイヤーではERB、WebサーバレイヤーではRack(英語版)とMongrelをそれぞれ組み込んでいる[10][11]
関連項目

デイヴィッド・ハイネマイヤー・ハンソン

アジャイルソフトウェア開発

重複コード

オブジェクト関係マッピング

脚注[脚注の使い方]
出典^ “Rails 7.1.3 has been released!”. rubyonrails.org (2024年1月16日). 2024年1月17日閲覧。
^ 重複したコードを書かない意味もある
^ https://github.com/merb/merb/wiki
^ Zygmuntowicz, Ezra (18 Oct 2006), ⇒“ANN: Merb, Mongrel+Erb”, ⇒osdir.com, ⇒http://osdir.com/ml/lang.ruby.mongrel.general/2006-10/msg00105.html 
^Ruby on Rails 3.0 Release Notes
^ a b Boone, Paul (18 Sept 2008), ⇒“Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish)”, ⇒mindbucket.com, ⇒http://www.mindbucket.com/2008/09/18/rails-merb-performance-comparison-on-mongrel-jruby-tomcat-glassfish/ 


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:29 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef