Ruby on Railsとは?初心者でもRubyとの違いや特徴がわかる!

Ruby on Railsとは?初心者でもRubyとの違いや特徴がわかる!

Ruby on Rails(ルビー・オン・レイルズ)とは何かについて、プログラミング初心者の人でも理解できるように解説します。

スマホでもPCでも見やすい図を使いながらRuby on Railsについて解説しているので、非常にわかりやすい内容です。

本記事では、Ruby on Railsとは何かだけでなく、よくある疑問である「RubyとRuby on Railsの違い」や、Ruby on Railsの特徴、Ruby on Railsでできることなどにも触れていきます。

本記事を読み終える頃には、Ruby on Railsの全体像がつかめているでしょう。ぜひ最後までご覧ください。

Ruby on Railsとは?

まずは、Ruby on Railsとは何かについて解説します。

Ruby on Railsとは、プログラミング言語RubyのWebアプリケーションフレームワークの1つです。略してRailsとも呼ばれています。

しかし、以上の説明だと、Webアプリケーションって何?フレームワークって何?という疑問が残ると思うので、Webアプリケーションとフレームワークについても解説します。

 

Webアプリケーションとは?

Webアプリケーションとは、ウェブ(ブラウザ)を介してサービスを私たちユーザーに提供するものです。

例えば、Amazonで商品を購入する、Yahoo!知恵袋に質問を投稿する、求人サイトでアルバイトに申し込むなど、私たちは普段からWebアプリケーションを使っています。

 

フレームワークとは?

フレームワークとは、Webアプリケーションを簡単に開発できるようにする骨組みのことです。もしフレームワークがなければ、開発者はWebアプリケーションを開発するのに膨大な時間がかかってしまいます。

その問題を解決し、効率よくWebアプリケーションを開発するためのものがフレームワークです。

例えば、カレーを作ることを考えてみます。すると、フレームワークというのはカレーのルーのようなものです。

カレーのルーがない状況からカレーを作るとなると、自分でスパイスや香辛料などを使って自作のルーを作ることになります。これだとカレーを作るのにかなりの時間がかかります。

その問題を解決するためにルー(フレームワーク)があるといったような理解でまずは問題ありません。

フレームワークの解説画像

 

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

Ruby on RailsとRubyの違いとは?

RubyとRuby on Railsの違いがわからない」という疑問がよくあります。この章では、RubyとRuby on Railsの違いを解説します。

まず、Rubyはプログラミング言語(Java、PHPなど)の1つです。大きなWebアプリケーションから小さいプログラムまで、様々なソフトウェア開発が可能です。

プログラミング言語Rubyには、非常にシンプルでソースコードを書きやすいという特徴があります。

 

Ruby on Railsは先ほど解説した通り、Webアプリケーションフレームワークのことです。Ruby on Railsはプログラミング言語ではありません。

Ruby on RaisというWebアプリケーションフレームワークは、プログラミング言語Rubyで作成されているので、Ruby on Railsという名前になっています。

 

Ruby on Railsで作られたWebサービスの事例

Ruby on Railsで作られているWebサービスの事例をいくつか紹介します。有名なWebサービスもRuby on Railsで作られています。

 

cookpad

CookPad

参照:cookpad(http://cookpad.com/)

Ruby on Railsで作られているWebサービスの代表格としてcookpadが挙げられます。

日本では最も有名な事例と言っても過言ではないでしょう。

 

Gunosy

Gunosy

参照:Gunosy(https://gunosy.com/)

印象に残るCMで有名なニュースアプリのGunosyもRuby on Railsで作られています。

 

Airbnb

Airbnb

参照:Airbnb(https://www.airbnb.jp/)

最近話題の、空き部屋・スペースなどの提供者(ホスト)と宿泊施設を探す旅行客(ゲスト)をマッチングするサービスのAirbnbもRuby on Railsで作られています。

Ruby on Railsは日本だけでなく、世界でも幅広く使われています。

 

Ruby on Railsの特徴

Ruby on RailsでWebアプリケーションを開発するにあたり、Ruby on Railsの知っておくべき特徴を紹介します。

Ruby on Railsを学習するなら、どれも必ず知っておくべき知識です。

 

MVCアーキテクチャ

MVCアーキテクチャのイメージ

Ruby on Railsでは、MVCアーキテクチャ(MVCモデル)という設計法に基づいて開発を行います。

MVCとは、Model(データを扱う)の頭文字Mと、View(ページの見た目)の頭文字V、Controller(ModelとViewとの連携を行う)の頭文字Cを取ってMVCと呼ばれています。

※Modelとは何かを詳しく学習したい人は、Modelについて解説した記事を、Controllerについて学習したい人は、Controllerについて解説した記事をご覧ください。

Ruby on Railsでは、Model、View、Controllerに分けて開発を行うことで、効率が良く、生産性の高い開発を実現できます。

 

DRY(Don’t Repeat Yourself)

Ruby on Railsには、「Don’t Repeat Yourself(繰り返しを避けよ)」というDRY原則があります。

DRY原則とは、同じこと(ソースコード)を繰り返し記述するのは避けよという意味です。

同じことをソースコードやファイルの中で何度も記述すると、アプリケーションの仕様変更などがあった時に、一部を変更し忘れてしまうことがありえます。

Ruby on Railsでは、DRY原則を意識して開発することで、効率の良いアプリケーションを作成しなければいけません。

 

CoC(Convention over Configuration)

Ruby on Railsには、「Convention over Configuration(設定より規約)」という原則があります。

Ruby on Railsであらかじめ用意された規約に従ってアプリケーションを開発することで、ソースコードの記述量を少なくすることができ、見やすいソースコードになります。

決まった規約に従うことで、自分で設定する必要がなくなり、効率よくアプリケーションを開発できます。

 

Ruby on Railsでできること

Ruby on Railsでは、具体的にどのようなことができるのでしょうか?この章では、Ruby on Railsでできることを紹介します。

 

Webアプリケーション開発

Ruby on Railsを使うと言えば、Webアプリケーション開発が多いです。

Ruby on Rails以外でも、PHPやPerlなどでもWebアプリケーション開発はできますが、Ruby on Railsを使うことで、圧倒的に開発スピードが早くなります。

 

スマホアプリ(API)開発

スマホアプリ自体のソースコードは、SwiftやJavaといったプログラミング言語で記述します。

しかし、アプリから取得したユーザーのメールアドレスなどを保存するなどといった場合には、サーバーでデータを管理する(API側)ためのプログラムが必要になります。

それを実現するために、スマホアプリの開発でもRuby on Railsが使われたりしています。

 

業務システムの開発

Ruby on Railsを使えば、経理や売上管理、在庫管理などの業務システムを作ることも可能です。

Ruby on Railsは開発速度が速いので、社内の柔軟な機能追加にも対応できるのが特徴です。

 

Ruby on Railsに関する説明は以上になります。Ruby on Railsの概要が理解できましたか?

Ruby on Railsに対する需要は年々高まってきています。ぜひあなたもRuby on Railsを学習してみてはいかがでしょうか?