(Translated by https://www.hiragana.jp/)
Ruby on Rails - Wikipedia コンテンツにスキップ

Ruby on Rails

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Merbから転送てんそう
Ruby on Rails
Railsアプリケーションデフォルトページ
開発元かいはつもと Rails Core Team
最新さいしんばん
7.2.1 / 2024ねん8がつ2にち (33にちまえ) (2024-08-02)[1]
リポジトリ ウィキデータを編集
プラットフォーム クロスプラットフォーム
種別しゅべつ 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.jsYEOMANといったものがある。

RailsのMVCアーキテクチャ

[編集へんしゅう]

RailsじょうMVCアーキテクチャはつぎのとおりである(Action Packは、このなかのViewとControllerのことをしている)。

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

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

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

Merb
作者さくしゃ エズラ・シグモントビクス
開発元かいはつもと ヤフーダ・カッツ
最新さいしんばん
1.1.2[3] / 2010ねん6がつ17にち (14ねんまえ) (2010-06-17)
リポジトリ ウィキデータを編集
プログラミング
言語げんご
Ruby
対応たいおうOS クロスプラットフォーム
種別しゅべつ Webアプリケーションフレームワーク
ライセンス MIT License
公式こうしきサイト www.merbivore.com
テンプレートを表示ひょうじ

MerbMongrel英語えいごばん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]

関連かんれん項目こうもく

[編集へんしゅう]

脚注きゃくちゅう

[編集へんしゅう]

出典しゅってん

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]