マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Ruby on Rails

【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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。