Ruby on Rails
別名:RoR,Rails
Ruby on Railsとは、スクリプト言語「Ruby」を用いて開発された、Webアプリケーション開発用フレームワークの名称である。2004年7月に初めて登場した。
Ruby on Railsでは、コードのひな形の自動設定機能や、特定の機能の利用を簡略化するためあらかじめ設定された記述形式などにより、簡素かつ迅速にコーディングが行えるようになっている。記述する必要のあるコードは他の一般的なプログラミング言語に比べて極端に少なくすることが可能であるといわれている。
また、Ajaxのライブラリがあらかじめ組み込まれていることにより、RIA(Rich Internet Applications)が比較的簡単に構築できるというメリットも持っている。
Ruby on Railsはオープンソースソフトウェア(OSS)として提供されており、公式サイトなどから無償で入手して利用することができる。Web 2.0の潮流の一翼を担う存在とも言われており、海外を中心に採用事例が増えている。また、Ruby on Railsを皮切りにPerlやPython、PHPといった他の言語でもRuby on Railsの思想を受け継いだフレームワークが登場している。
参照リンク
Ruby on Rails - (英文)
Ruby on Rails (RoR) ~なぜRoRがエンタープライズ、Web 2.0向きか - (XMLコンソーシアム)
レール
rails |
鉄道その他の軌道などに用いられる鋼材。一般用と特殊用に分けられ、更に一般用は普通レールと軽レールに分けられる。特殊用は、車両以外のクレーン、エレベーターなどの軌道として用いられる。 地下鉄道などで架線の代わりに用いるレールを第3レールという。 通常、1m当たりの質量で表示及び呼称を行う。 |
Ruby on Rails
Railsアプリケーションデフォルトページ | |
開発元 | Rails Core Team |
---|---|
最新版 |
8.0.1
/ 2024年12月13日[1] |
リポジトリ | |
プラットフォーム | クロスプラットフォーム |
種別 | Webアプリケーションフレームワーク |
ライセンス | MIT License |
公式サイト |
rubyonrails |
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リリース
- 2024年11月7日 バージョン8.0リリース
2004年の登場以後、Ruby on Railsのコンセプトは他のフレームワークにも大きな影響を与えている。Ruby on Railsの影響を受けたフレームワークとしては、PHPのCakePHPやSymfony、PerlのCatalyst、groovyのGrails、Node.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
作者 | エズラ・シグモントビクス |
---|---|
開発元 | ヤフーダ・カッツ |
最新版 |
1.1.2[3]
/ 2010年6月17日 |
リポジトリ | |
プログラミング 言語 | Ruby |
対応OS | クロスプラットフォーム |
種別 | Webアプリケーションフレームワーク |
ライセンス | MIT License |
公式サイト |
www |
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 Version 8.0.1 has been released!”. rubyonrails.org (December 13, 2024). 2025年1月23日閲覧。
- ^ 重複したコードを書かない意味もある
- ^ https://github.com/merb/merb/wiki
- ^ Zygmuntowicz, Ezra (18 Oct 2006), “ANN: Merb, Mongrel+Erb”, osdir.com
- ^ 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
- ^ Zygmuntowicz, Ezra (23 Dec 2008), Merb *is* Rails
- ^ Hansson, David Heinemeier (23 Dec 2008), “Merb gets merged into Rails 3!”, weblog.rubyonrails.org
- ^ Katz, Yehuda (23 Dec 2008), “Rails and Merb Merge”, yehudakatz.com
- ^ merb-core gem dependencies, (23 mar 2010)
- ^ merb gem dependencies, (23 mar 2010)
外部リンク
Rails
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/25 02:29 UTC 版)
JRuby はバージョン 0.9(2006年5月)以降 Ruby on Rails をサポートしており、同時に RubyGems と WEBrick の実行も可能である。サンが2人の開発者を雇って以来、Rails 対応と性能は大幅に強化されてきた。JRuby バージョン 1.0 は Rails のテストケースのほとんどにパスした。その後、JRuby を Rails アプリケーション開発環境に使う開発者がでてきた。
※この「Rails」の解説は、「JRuby」の解説の一部です。
「Rails」を含む「JRuby」の記事については、「JRuby」の概要を参照ください。
- railsのページへのリンク