マジセミドライブ

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

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。