プログラミングを習おうとしたことのある方であれば、1度は目にしたことがあるであろう「Ruby on Rails」。
プログラミング言語の1つである「Ruby」が名称に入っていることもあり、一体どんなものなのか想定がつかないという方もいるのではないでしょうか。
そこで今回は、Ruby on Railsについて、Rubyとの違いから特徴、使用するメリット・デメリットまで、たっぷりと紹介していきます。
記事のもくじ
Ruby on Railsとは?
Ruby on Railsは、Webアプリケーションを作るときに利用できる「フレームワーク」です。
では、そもそもフレームワークとは一体何のことなのでしょうか。
簡単に言うと、システムの開発が楽に行えるように準備された、枠組みのことを指します。
実は現在あるシステムのなかで、何もない状態から、すべて独自のプログラムで作成されたものは、あまり多くありません。
どのシステムも、大抵の場合はもともと完成されている土台に、必要なプログラムを組み込んで作られています。
その土台となるのが、フレームワークです。
フレームワークがあることで、開発の工数が少なくなるメリットがあります。
フレームワークには様々な種類がありますが、Ruby on Railsは主に「Ruby」というプログラミング言語を使用してシステムを作るときに利用できるフレームワークです。
2004年にデンマークのプログラマーによって作られ、エンジニアの間では「Rails」「RoR」と呼ばれることもあります。
RubyとRuby on Railsの違いとは?
Ruby on RailsがRubyでシステムを開発するときに使えるフレームワークということは分かりましたが、そもそもRubyとは何なのでしょうか、そしてRuby on Railsとはどのような違いがあるのでしょう。
Rubyは、JavaScriptなどと同様の、プログラミング言語です。
1995年にMatzこと、まつもとゆきひろさんによって一般公開された言語で、ほかの言語と比較してシンプルかつ直感的にプログラムを書けると人気になりました。
ちなみに、Rubyという名前は、言語の開発者の同僚が7月生まれだったことに由来しているそうですよ。
名前が似ていることから混乱しやすいこの2つですが、Rubyはプログラミング言語、Ruby on Rails はそのRubyで使うフレームワークであることを覚えておきましょう。
なお、Rubyについてより詳しく知りたいという方は、下記記事を参考にしてください。
Ruby on Railsの最大の特徴とは「MVCモデル」の採用
Ruby on Railsの最大の特徴は、設計に「MVCモデル(MVCアーキテクチャ)」というものを採用していることです。
MVCモデルとは、プログラムの中身をModel(モデル)・View(ビュー)・ Controller(コントローラ)の3つに分類して作る、いわゆる書き方の構成の1つのことです。
一般的にModel・View・Controllerには、それぞれ下記のような機能・処理の役目があります。
- モデル(Model):データベース間のやり取りをする機能(情報の取り出し・書き込みなど)
- ビュー(View):ブラウザへの表示をする機能
- コントローラ(Controller):ModelやViewに対して命令をする機能
MVCモデルのメリットは、はじめてそのシステムを見る人でも、処理の中身を推測しやすいという点です。
また、Model・View・Controllerがそれぞれ分かれていることで、修正作業がしやすいことも、MVCモデルならではのメリットと言えるでしょう。
Ruby on Railsでできること
Ruby on Railsはあくまでフレームワークなので、単体では何もできません。
ただ、ほかのプログラミング言語と組み合わせて使用することで、色々なことができるようになります。
今回は、代表的な下記2つのできることを紹介します。
- Webアプリケーション開発
- API開発
Webアプリケーション開発
Ruby on Railsを使用することでできることの代表例といえば、Webアプリケーションの開発です。
単純なWebサイトからSNS・ECサイトまで、さまざまなアプリケーションをRuby on Railsを使用して作ることができます。
のちほどRuby on Railsを使用して開発された具体的なWebサイト・アプリケーションを紹介するので、ぜひ合わせてチェックしてください。
API開発
スマホアプリ自体の開発はJavaなどのプログラミング言語の活用が主で、Ruby on Railsは使われません。
スマホアプリから取得したデータをデータベースに保存する場合、サーバーとの連携が必要になります。
連携のためにはAPIと呼ばれる、ほかのアプリを利用するときに必要になる規約・機能の開発が必須ですが、この開発にRubyやRuby on Railsが使用されます。
Ruby on Railsを使用して作られたサイトの例
Ruby on Railsでできることを見てきたところで、ここでは実際にどんなサイトがRuby on Railsを使用して作られたのかを紹介します。
Ruby on Railsで作られたサイトには、下記のようなものがあります。
- cookpad(レシピの投稿・検索サイト)
- Gunosy(ニュースアプリ・ニュースポータル)
- Airbnb(民泊仲介サイト)
- freee(オンライン会計ソフトウェア)
- Wantedly(ビジネスSNS)
Ruby on Railsが開発スピードをあげてくれるフレームワークということで、スタートアップやベンチャー企業など、比較的新しくスピード感が求められる企業のサイトで使用されていることが分かりますね。
Ruby on Railsを使うメリット・デメリット
ここまでRuby on Railsを様々な面から紹介してきましたが、メリット・デメリットという観点からも見ていきましょう。
Ruby on Railsのメリット・デメリットには、下記があげられます。
Ruby on Railsを使うメリット
・学習しやすい
・汎用性が高い
Ruby on Railsを使うデメリット
・実行速度が遅い
メリット1:学習しやすい
Ruby on Railsを使う最大のメリットは、学習がしやすい点です。
前述した通り、Rubyはプログラミング言語のなかでは珍しい、日本人によって開発された言語です。
そのためRuby on Railsの資料や解説など、日本語の記事が比較的多いという特徴があります。
勉強をしていくなかで何か詰まってしまうことがあっても、自分の力で解決しやすいのは、初心者にとって非常にありがたい点ではないでしょうか。
また、Ruby on Rails自体、シンプルな構造で、初心者でも学びやすいフレームワークになっています。
Ruby on Railsを使うとコードが早く書けるようになるため、1つのものを完成させるスピードが速くなり、達成感を味わいやすく、学習の継続がしやすいことも魅力的なポイントと言えるでしょう。
メリット2:汎用性が高い
Ruby on Railsを使うメリットの2つ目は、Ruby on Railsが汎用性の高いフレームワークだという点です。
基本的にはWebアプリケーション開発の際に使用されるRuby on Railsですが、ゲーム・クローラーなどの開発に使用することも可能です。
Mac・Windowsなど、OSを問わずに使用できるので、1度覚えてしまえば、様々なシーンで役に立てられると言えるでしょう。
デメリット:実行速度が遅い
初心者の学習にも優しいRuby on Railsですが、デメリットもあります。
それが、ほかの言語・フレームワークと比較して、実行速度が遅いという点です。
Ruby on Railsを使用するRubyは、コードの実行の際にプログラムを1行ずつ機械語に翻訳をしながら実行する、インタプリタ方式が採用されています。
このインタプリタ方式は、そもそも実行速度を気にしないアプリケーションを作成するときに利用されるものです。
小規模のアプリケーションであれば、使用していて不快感を覚えることは少ないかもしれませんが、規模感が大きくなると、より実行速度の速い言語・フレームワークに移行する必要がある場合もあります。
また、そのほかに汎用性が高すぎるが故に自由度も高く、エラーの特定がし辛かったり、コードの修復がしにくかったりすることも、Ruby on Railsのデメリットとしてあげられます。
Ruby on Railsとは?を理解できるおすすめ学習サイト・本
最後に、これからRuby on Railsを勉強していきたいという初心者の方におすすめの学習サイトと本を、それぞれ2つずつ紹介していきます。
ぜひご自身に合った方法で、勉強をスタートしてみてください。
なお、Ruby on Railsと一緒に使用することになるRubyのおすすめ学習法・については、下記記事で詳しく紹介しています。
Rubyの勉強も並行して進めたいという方、Rubyも気になるという方は、下記も参考にしてみてください。
Progate
プログラミングの勉強をする際に使うべき、もはや王道とも言っていいProgate。
学習コースでは、全11のステップに沿って、Ruby on Railsの知識を深めていくことができます。
ブラウザ上で利用できるので、ソフトウェアをインストールするなど、何か自分で環境を整える手間がいらないのも嬉しいポイントです。
ドットインストール
ドットインストールも、プログラミング勉強で王道の学習サイトの1つです。
1回3分の動画を見ながら勉強を進めていくタイプの学習サイトで、Ruby on Railsは全28回の動画で学ぶことができます。
1回の動画の時間がとにかく短いので、通勤・通学中や休憩時間など、スキマ時間にササッと勉強できるのも魅力的です。
Ruby on Rails5超入門
Amazon:Ruby on Rails5超入門
Ruby on Railsの入門書として有名なのが、こちらのRuby on Rails5超入門。
エンジニアとしての経験がない方でも十分に読み進められる、かなり解説の詳しい学習本です。
MVCについてだけでなく、必要最低限のRubyの解説もされているので、Ruby on Rails周辺の知識がまったくないという方にもぴったりですよ。
たった1日で基本が身に付く!Ruby on Rails 超入門
Amazon:たった1日で基本が身に付く!Ruby on Rails 超入門
開発環境のインストール方法からアプリの作りまで、一貫して解説してくれているのがこちらの本です。
読みながらWebアプリを実際に作っていく構成になっているので、読み終わりとともに、達成感を感じられること間違いなし。
Rubyの知識が少しでもあれば、かなり簡単に読み進められることでしょう。
Ruby on Railsとは?特徴・できることを徹底解説のまとめ
今回は、Ruby on Railsについて、rubyとの違いから特徴、使用するメリット・デメリットまで、たっぷりと紹介しました。
初心者にも学びやすく、1度覚えてしまえば、色々な言語に活用可能なRuby on Rails。
気になる方は、ぜひこの機会に勉強してみてはいかがでしょうか。