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

web開発

2016/10/13

web開発

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アプリケーションを開発するためのものがフレームワークです。

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

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

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

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

 

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を学習してみてはいかがでしょうか?

udemyでは、初心者でも3日で学べるRuby on Railsのオンライン講座を用意しています。ぜひ受講して、Ruby on Railsをマスターしましょう!

  

【未経験者でも大丈夫!】短期間でRuby on Railsをマスターしましょう!

【3日でできる】はじめての Ruby on Rails 4 入門(Rubyから学べる) - Udemy

【3日でできる】はじめての Ruby on Rails 4 入門(Rubyから学べる) - Udemy

Ruby on Railsをマスターしたら、あなたはどんなWebサービスを作りますか?

動画で学習する

  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー
  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー

関連記事