Ruby on Rails(ルビーオンレイルズ)。オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。

オープンソースのフレームワーク/Ruby on Railsとは

Ruby on Rails(ルビーオンレイルズ)。オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。

■関連する比較ページ

基本情報

概要

Ruby on Rails(ルビーオンレイルズ)とは、オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。

フレームワークとは

あるアーキテクチャ(設計思想)に従い、ソフトウェアを効率的に開発するために揃えられたライブラリ(部品)とツールのセットを指します。

基本説明

「Ruby on Rails」は、「RoR」または単に「Rails」と呼ばれます。
Rubyをベースにして、MVC(Model View Controller)アーキテクチャに基づいて構築されているフレームワークです。
「ストレスの少ない軽量プログラミング」を目指しており、「同じことを繰り返さない」、「少ないコードで簡単に開発できる」ことを目的とした設計思想になっています。

TOPに戻る

主な特徴

設計理念(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の汎用性を高めています。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Merb」など。

TOPに戻る

導入事例

生産性が高い「Ruby on Rails」の採用は拡大しています。導入事例としては、「Twitter」、「Github」、「CookPad」など非常に多くの導入事例があります。

TOPに戻る

ライセンス情報

LICENCE「Ruby on Rails」のライセンスは、「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Ruby on Rails最新CLOSEUPコラム

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

リアルタイム性の高いIoTの課題とは?スマートシティを支えるMQTT ~IoTメッセージングプラットフォームを活用し、セキュリティ確保や通信到達保障を簡単に実現~

エンジニアにとって「情報発信」は重要なのか? ~テックピット DEVELOPERS RESKILLING CONFERENCE クロージングセッション~

CI/CDが開発ガバナンスの弱体化を招く?回避する方法とは ~複数ツールの組み合わせで生じる問題を、統合プラットフォーム「GitLab」で解決~

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter