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をマスターしましょう!

目的別!最先端ITスキル講座

海外の人気講師によるWeb制作のベストセラ―講座

【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版)
【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版)

ウェブデザインの基礎、サーバーサイドプログラミング、モバイルアプリ開発、APIプログラミングなどを網羅的にマスターできる

最新!iOS11アプリ開発講座

【6日で速習】iOS 11 Swift 4アプリ開発入門 決定版 20個のアプリを作る ARKit,CoreML,NFC
【6日で速習】iOS 11 Swift 4アプリ開発入門 決定版 20個のアプリを作る ARKit,CoreML,NFC

地図検索、ARなど20個以上のアプリを作って学べる実践講座

日本を代表するデータサイエンティスト辻真吾氏による人気講座

【世界で5万人が受講】実践 Python データサイエンス
【世界で5万人が受講】実践 Python データサイエンス

データ解析の基本、可視化、統計、機械学習などデータサイエンスに関するあらゆる実践的なスキルがPythonで身に付く!

初級者から学べる人工知能講座の決定版

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

初心者向けの人工知能と機械学習のコース。文字認識や株価分析なども実施

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

関連記事