マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Ruby on Rails

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Ruby on Rails」とは
基本情報
概要
Ruby on Rails(ルビーオンレイルズ)とは、オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。
フレームワークとは
あるアーキテクチャ(設計思想)に従い、ソフトウェアを効率的に開発するために揃えられたライブラリ(部品)とツールのセットを指します。
基本説明
「Ruby on Rails」は、「RoR」または単に「Rails」と呼ばれます。
Rubyをベースにして、MVC(Model View Controller)アーキテクチャに基づいて構築されているフレームワークです。
「ストレスの少ない軽量プログラミング」を目指しており、「同じことを繰り返さない」、「少ないコードで簡単に開発できる」ことを目的とした設計思想になっています。
主な特徴
設計理念(1) 設定より規約
Convention over Configuration。「設定より規約」とは、「慎重に設計された規約に従うことにより、設定を不要にする(軽減する)」ということです。
従来のフレームワークのように設定情報を大量に記述せずに、規約に従いプログラミングすることで、重複するコードを削減するという理念です。
例えば、学生クラスを「Student」とした場合、学生情報を格納するデータベースは複数形の「students」にするという規約です。この規約に従うことで、「Student」クラスと「students」テーブルのマッピングは、Railsが自動的に行います。
クラスとテーブルをリンクする設定情報を記述する必要がなくなるため、開発者はビジネスロジックなどの本来やるべき部分の開発に注力できます。
Railsは、規約の導入によってWebアプリケーション開発の単純化を行いました。この単純化が、「Ruby on Rails」の根源的な新しさとされています。
設計理念(2) 同じことを繰り返さない
DRY(Don’t Repeat Yourself)。「同じことを繰り返さない」という考え方は、あらゆる情報について、あちらこちらに記述するのではなく、1か所にまとめて記述します。「定義などの作業は1回だけで済ませる」という意味合いになります。
変更が生じた場合に何か所もコードを修正する必要がなくなり、開発効率が上がります。
設計理念(3) REST
REST(Representational State Transfer)とは、Webアプリケーションなどにおける設計概念の1つです。すべてのリソースに一意の識別子(URI)をつけ、そのリソースに対してアクセスしてアクションします。
例えば、出席番号1番の学生というリソースを表す「/students/1」というURIに対して、HTTPメソッドの「GET」を使うことで、1番の学生情報を表示します。「PUT」を使うことで、1番の学生情報の更新をします。「DELETE」を使うことで、1番の学生情報を削除できます。
RESTの概念に従ったシステム(Railsなど)は、「RESTful」といわれます。
MVC(Model View Controller)アーキテクチャ
Railsは、MVCアーキテクチャに基づいています。
「Action Controller」コンポーネントが制御を担当します。「Action View」コンポーネントが表示を担当します。「Active Record」コンポーネントがデータ保持を担当します。
1.リクエストが来ると、該当する「Action Controller」が呼び出されます。
2.「Action Controller」は、リクエストに応じて、適切な「Active Record」を呼びだします。
3.「Active Record」は、データベースからデータの参照/更新などを行います。
4.「Action Controller」は画面表示を行うために「Action View」を呼び出します。
5.「Action View」では、「Active Record」内のデータを参照して表示を行います。
自動テスト
テストプログラムがアプリケーションに対してあらかじめ決められた手順でテストを行い、その結果をチェックしてくれる機能があります。
自動テストは、アプリケーション全体を細かくチェックしてくれるため、修正によるバグ混入を防いでくれます。品質向上につながります。
ただし、自動テストプログラムは、プログラマー自身が作成する必要があります。テストプログラムが不完全であれば、バグは見落とされてしまいます。
RubyGemsライブラリ
Rubyにも幅広いサードパーティのライブラリが「gem」というライブラリパッケージ形式で提供されています。
「RubyGems」は、ライブラリ作成/公開、インストールをサポートする仕組みです。
Railsフレームワークを拡張するプラグインも多く用意されていて、Railsの汎用性を高めています。
同様製品(概要情報)
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Merb」など。
導入事例
生産性が高い「Ruby on Rails」の採用は拡大しています。導入事例としては、「Twitter」、「Github」、「CookPad」など非常に多くの導入事例があります。
ライセンス情報
「Ruby on Rails」のライセンスは、「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
ランク1位
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選ランク2位
【無料で使える】「 翻訳 」ツールまとめランク3位
【無料で使える】「 ドキュメント管理 」ツールまとめランク4位
【無料で使える】「 OCR 」ツールまとめランク5位
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」ランク6位
【AIツール実験室】いちばん賢い チャットAI 選手権!ランク7位
【ChatGPTプラグイン探訪】「 Show Me Diagrams 」〜データ視覚化〜ランク8位
【無料で使える】「 ファイアウォール 」ソフトウェアまとめランク9位
【OSS情報アーカイブ】SQLiteランク10位
【無料で使える】「 暗号化 」ツールまとめ
おすすめの記事

デジタル寺田の3分用語解説
2025.04.21
【デジタル寺田の3分用語解説】 「 動画SEO 」とは?
BtoBマーケティングで注目される「 動画SEO 」について、「視聴維持率やユーザーリアクションを高めるポイント」「YouTube動画検索で上位表示を狙うための動画SEOの基本テクニック」「高品質コンテンツ制作」「先行者優位で第一想起を獲得する戦略」を紹介します。