【未経験者必読】10分で理解できるRuby on Railsとは

出典:Ruby on Rails 

あなたは最近Ruby on Railsが流行っている、Ruby on Railsで簡単にWebアプリケーション開発ができるなど、頻繁にRuby on Railsという言葉を聞きませんか?プログラミング関連のものだとは理解できても、具体的にどのようなものか理解するのは難しいかもしれません。

この記事では、誰にでもわかるRuby on Railsの説明はもちろん、それらを語る上では欠かせない「Webサイト」「Webアプリケーション」に関しても簡単に解説していきます。

 

Ruby on Railsを学ぶ前に、より大きな枠組みであるWebサイトについて考えてみましょう。

普段私たちが何気なく見ているWebサイトですが、どのような仕組みで見れるのでしょうか?

ここではリクエストレスポンスという概念が登場します。

リクエストとレスポンス

みなさんが見ているこのWebサイトも他のWebサイトも、インターネットにつながっていることで初めて見ることができます。

その際、あなたのスマートフォンやパソコンはサーバーと通信をしています。大雑把ですが、サーバーとは、画面のないパソコンと捉えておきましょう。

425921

例えば、そのサーバーに自分のスマートフォンやパソコンから「https://tech-camp.in/note/を見せて!」と信号を送るとあなたは「https://tech-camp.in/note/」を見ることができます。

ここで、「https://tech-camp.in/note/を見せて!」のようにサーバーに情報を要求することをリクエスト、サーバーが要求された情報を返すことをレスポンスと言います。

リクエストレスポンス.001Webサイトはサーバーにリクエストを送って、レスポンスが返ってくることによって見ることができることがわかりました。

実はこのWebサイトには静的なサイト動的なサイトの2種類が存在します。

静的なサイト・動的なサイト

Webサイトには大きく2種類あり、静的なサイトと動的なサイトに分けられます。

静的なサイトとは?

静的なサイトとは、いつ誰が見ても同じ内容が表示されるサイトのことを指します。データベースとやり取りのないサイトとも言えます。ここではデータベースとはあるデータを保存しておく場所と捉えてください。

静的なサイトはHTMLCSSJavaScriptといったプログラミング言語で構成されます。
静的なサイト.001

動的なサイトとは?

一方で、動的なサイトとはデータベースとやり取りがあり、いつ誰が見るかによって、異なる内容が表示されるサイトのことを指します。

これらのページを作る際には静的なサイトで必要なプログラミング言語に加え、RubyPHPなどといったプログラミング言語が必要になります。

例えばTwitterにアクセスすると、アカウントを所持していれば人それぞれ違った内容が表示されます。

これは人によってデータベースから取り出してくる情報を変えているためです。

このような動的なサイトでは、いつ誰が見るかによって、異なる内容が表示されます。

また、このような動的なサイトはWebアプリケーションと呼ばれることがあります。

動的なサイト.001

2.Ruby on Railsとは?

%e3%82%bf%e3%82%99%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%88%e3%82%99-4
出典:Ruby on Rails

ここまでで、Webサイトは静的なサイトと動的なサイトがあるということを学んできましたが、Ruby on Railsとは結局何者なのでしょうか?

結論から言うと、Ruby on Railsとは動的なサイト(Webアプリケーション)を作りやすくしてくれるものです。少し固い表現をすると、Webアプリケーションを作るためのフレームワークと呼ばれます。

Ruby on Railsを使えば、簡単にWebアプリケーションを作ることができます。また、Ruby on Railsは省略して、Railsと呼ばれることもあります。

フレームワークとは?

フレームワークとは、骨組みや骨格といった日本語に置き換えられます。要するに、Ruby on RailsはWebアプリケーションを作るための骨組みを提供してくれます。

骨組みがあるということは、始めからWebアプリケーションを作るのに必要な機能がある程度備わっているということです。

この骨組みが存在することによって、生産性が向上する運用コストが下がるなどのメリットがあります。

Ruby on RailsではHTMLやCSS, JavaScript, Rubyなどを使ってコードを書き、Webアプリケーションを作っていきます。

比喩を用いると、家を作るための骨組みや土台(Ruby on Rails)に壁や家具(HTML, CSS, JavaScript, Rubyなど)を取り付けていくイメージです。

RoRイメージ.001

特徴

Ruby on RailsはRuby環境で利用出来る代表的なフレームワークでありますが、Ruby on RailsではMVCパターンと呼ばれる構造を採用しています。

MVCパターンとはアプリケーションをModelViewControllerの3つに分割しようという設計モデルで、それぞれの役割は下記の通りです。

  • Model

→データベースに対して操作を行う

  • View

→見た目の部分(HTML)を担当

  • Controller

→リクエストの処理やモデルとのやりとりなど全体の管理

MVCとはっきり役割を分けることで、開発において分業がしやすくなったり、仕様変更に柔軟に対応できるなどのメリットがあります。

RoR特徴.001

Ruby on Railsを使うメリット

今まで説明してきた通りRuby on Railsを使用することで、簡単にWebアプリケーションが作れる、生産性が上がるなどといったメリットがありましたが、他にもメリットがあります。

Ruby on Railsは日本語での情報が豊富にあり、初心者でも習得しやすくなっています。また、最近スタートアップを中心にRuby on Railsを使った開発案件も増えてきていて仕事を獲得しやすい状況です。

Ruby on Railsの歴史

プログラミング言語Rubyの開発者がまつもとゆきひろさんによって開発されたのに対し、Ruby on Railsはデンマークのプログラマであるデイヴィッド・ハイネマイヤー・ハンソンによって開発されました。

2004年7月に公開され、現在までアップデートを重ね、2016年7月には様々な機能が追加されたバージョン5がリリースされています。

 

Railsエンジニアの年収

スタンバイの調査によるとRubyの平均年収は606万円とプログラミング言語の中で第3位となっており、以下のサイト内での説明の通り、非常に注目度の高い言語となっています。

最初からオブジェクト指向言語として設計された日本発の言語。文法が比較的容易であり、アプリケーションフレームワークRuby on Railsの人気によってその存在感が更に増しています。
ベンチャースタートアップ企業の求人が多いのが特徴です。また、シリコンバレーではRubyエンジニアの給与水準が高まっているというデータもあります。

具体例

実際にRuby on Railsを用いて運用されているサービスを紹介します。

cookpadは料理レシピの検索サイトです。2016年9月現在では約248万レシピが投稿されています。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-12-23-24-32

wantedlyはIT/Web業界のソーシャルリクルーティングツールです。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-12-23-25-05

 

おすすめサイト

Ruby on Railsを理解した上で、入門をやってみたいという方は、以下のリンクをご覧になって下さい。

【徹底解説】プログラミング学習おすすめサイトTOP5【比較表付き】

 

まとめ

Webサイトの仕組みからWebアプリケーションやRuby on Railsに関して説明をしてきましたが、いかがでしたでしょうか?

はじめはイメージしづらくとっつきにくいですが、この記事を読んで少しでもイメージをしていただけたのであれば嬉しいです。

これをきっかけにぜひあなたもRuby on Railsに触れてみてはいかがでしょうか。

 

TECH::CAMPについて

TECH::CAMPは、講義形式で知識だけを学ぶのではなく、実際にサービスを作りながら実践的に学んでいきます。

TECH::CAMPならプログラミングが、なんとなく分かるではなく、一人で出来るようになります。

また、質問し放題のため、分からないところを質問しすぐに解決することで、どんどん新たなスキルを身につけることができます。

この機会にプログラミングを学びませんか?

banner_techcamp
浩輝千田 浩輝千田が書きました
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

プログラミングをもっと勉強してみませんか?

当メディアを運営しているプログラミングスクールTECH::CAMPの
お試しカリキュラムが、今なら無料でご覧いただけます!



    メールマガジン登録でTECH NOTEの最新情報とカリキュラムを受けることができます

SNSでもご購読できます。

このエントリーをはてなブックマークに追加
記事をシェア→

無料プログラミング体験会!×

日本最大規模のプログラミングスクールTECH::CAMPの説明会に参加! 無料体験会申し込み