Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

Ruby on Railsとは、と聞かれて答えに困ったことはないでしょうか。一般的にはプログラミング言語Rubyで作られたWebアプリケーション用のフレームワークとされています。しかしITに詳しくない方にそう説明すると、専門用語を使わずに説明してほしい、と言われてしまうかもしれません。

今回はRuby on Railsとは、と聞かれてもすらすら答えられるように、Ruby on Railsの基礎について解説します。

Ruby on Railsとは


Ruby on Railsとは、プログラミング言語Rubyで作られているオープンソースのWebアプリケーション用のフレームワークです。Webアプリケーションの開発にRubyを使うとすれば、そのほとんどでRuby on Railsが使われています。

まずはRuby on Railsの基本について解説します。

プログラミング言語Rubyがベース

Ruby on Railsは、オープンソースのプログラミング言語Rubyで作られており、Rubyと同じくオープンソースで公開されているフレームワークです。

なおRubyには、文法が解りやすくシンプルで読み易いプログラムコードが書けるという特徴があり、さらにオブジェクト指向のプログラミング言語のため他の人が作ったプログラムを利用しやすい、というメリットを持っています。

そしてRuby on Railsには、「同じことを繰り返さない」という基本理念がありますが、これはRubyのオブジェクト指向の考え方と一致しており、さらにRubyGemsのライブラリを組み合わせれば短期間でWebアプリケーションの開発が可能です。

フレームワークとは

Ruby on Railsを一言で言えばWebアプリケーション用のフレームワークですが、そもそもフレームワークとは何でしょうか。

このフレームワークとは、「枠組み」「骨組み」「構造」といった意味を持つ英語のframeworkが語源のIT用語で、特定の用途で使われるアプリケーションの基本構造をあらかじめ作ってあるものです。そしてフレームワークにコードを追加することで、オリジナルなWebアプリケーションを短期間で作成できます。

RubyのフレームワークとしてはRuby on Railsが有名ですが、古くから使われているJavaのStrutsや、PHPのLaravel、CakePHPなど、Ruby以外のプログラミング言語にもフレームワークがあり、それらもWebアプリケーション開発に利用されています。

Webアプリケーション構築用

先ほど紹介したようにフレームワークとは、特定の用途で使われるアプリケーションの基本構造をあらかじめ作成したものです。その1つであるRuby on Railsは、Webアプリケーションの構築に使用されます。

Ruby on Railsで作れるWebアプリケーションとは次のとおりです。

ポテパンダの一言メモ

Ruby on Railsは、よく知られているサービスでも使われています。代表的なサービスは次のとおりです。

  • クックパッド
  • 食べログ
  • 価格.com
  • クラウドワークス
  • Airbnb

 

RubyとRuby on Railsの関係


Ruby on RailsがRubyで書かれたフレームワークであり、Rubyのコードを追加することでWebアプリケーションを開発できます。しかしRubyを勉強したからすぐにRuby on RailsでWebアプリケーションを開発できるとは限りません。次からRubyとRuby on Railsの関係を解説します。

そもそもRubyとは

Rubyはオープンソースのスクリプト言語の1つで、オブジェクト指向の考え方を基に作られています。なおオープンソースとは、プログラムの設計図とも言えるソースコードがインターネット上で公開されているソフトウェアを指す言葉で、誰でも無料で利用できます。

またスクリプト言語とは、プログラムの書かれたテキストファイルを読み込み、すぐに実行するタイプのプログラム言語を指す言葉です。そのためRubyは、Rubyのプログラムを解析し、そこに書かれた処理を実行するためのアプリケーションが必要で、そのアプリケーションがオープンソースとして公開されています。

最後にオブジェクト指向ですが、これはアプリケーションを構成するプログラムのパーツをオブジェクトという単位にすることで、別のアプリケーションでも使えるようにする考え方です。

そして、この考え方を採用したRubyを使うことで、他のエンジニア作ったオブジェクトを活用でき、アプリケーションの開発期間を短縮できるなどのメリットが得られます。

Ruby on RailsはRubyで書かれたフレームワーク

先ほど紹介したとおりRubyはプログラム言語のため、作ろうと思えばゼロからWebアプリケーションを作成することが可能です。

しかし、オブジェクト指向のRubyは、他のエンジニア作ったプログラムのパーツを利用しやすいプログラム言語です。そしてWebアプリケーションを構成するパーツをオブジェクトとして用意しておけば、誰でも簡単にWebアプリケーションを開発できます。

そのようなWebアプリケーション用のパーツを組み合わせたフレームワークがRuby on Railsです。なおフレームワークとは、「枠組み」や「骨組み」と言った意味の英語「framework」が語源のIT用語で、Webアプリケーションの開発によく利用される仕組みです。

このようにプログラミングRubyで最も多く使われているWebアプリケーション用のフレームワークがRuby on Railsです。

ポテパンダの一言メモ

Rubyで記述されたフレームワークは、Ruby on Railsだけではありません。他にもオープンソースで公開されているフレームワークがあります。もし興味があれば、Ruby on Railsと比較してみてください。

Ruby on Rails以外のRubyで記述されたフレームワーク

Ruby on Railsの考え方


Webアプリケーションは、単にパーツを組み合わせれば作れるような簡単なものではありません。Webアプリケーションとはどのようなものかを規定し、さらにその動作をモデル化して、そのモデルを実現するためのパーツを組み合わせなければなりません。

Ruby on Railsは、Webアプリケーションの代表的なモデル、MVCモデルを基に作られたフレームワークです。次から、Ruby on Railsが採用しているMVCモデルや考え方について解説します。

Ruby on Railsの基本はMVCモデル

先ほど紹介したようにRuby on Railsは、MVCモデルに基づいたWebアプリケーションの開発用に作成されたフレームワームです。そしてMVCモデルとは、Webアプリケーションの動作を、Model、View、Controllerの3つの処理に基づいています。

この3の処理を簡単に説明すると次のとおりです。

  • Model
    Webアプリケーションが扱うデータ処理。データベースのテーブルと連携している。
  • View
    Webブラウザに表示するHTMLなどを作る処理。
  • Contoller
    Webブラウザからのリクエストなどに応じてデータを加工したり、他の処理への指示などを担当する。

そしてMVCモデルで作れるWebアプリケーションとは、扱う情報をデータベースで管理し、Webブラウザからのリクエストに応じて作成されたWebページを送信するスタイルです。多くのWebアプリケーションをこのようなMVCモデルで作成できますが、全てのWebアプリケーションを作れるとは限らないので注意してください。

Ruby on Railsの考え方

Ruby on Railsには、経験豊富なWebエンジニアが考える最良の開発方法が含まれており、その方法を運用するための考え方が推奨されています。そしてその考え方とは、次の2つです。

  • 同じことを繰り返さない
    定義などの作業は一回だけで済ませろ
  • 設定よりも規約
    慎重に設計された規約に従うことにより、設定を不要にする(あるいは軽減する)

この2つのうち、「同じことを繰り返さない」は解りやすいと思いますが、「設定よりも規約」は解り難いかもしれません。Ruby on RailsはMVCモデルに基づいたフレームワークですが、フレームワークの規約に従うことで、最小限の作業でWebアプリケーションを作成できます。

なお設定で独自性を高めることは可能ですが、それではRuby on Railsのメリットを活かせません。Ruby on Railsは、この2つの考え方に従って利用することで、メリットが得られるフレームワークです。

まとめ


これまで紹介したようにRuby on Railsは、最小限のコードを追加するだけでWebアプリケーションの開発が可能な、プログラミングRubyによって記述されたフレームワークです。そのためRuby on Railsを利用すれば短期間でWebアプリケーションを開発できます。

しかしそのメリットを活用するには、Ruby on Railsの規約に従わなければなりません。Webアプリケーションによってはが向いていないケースもあります。メリットとその限界を理解して、Ruby on Railsとはどんなフレームワークか、と聞かれてもうまく説明できるようになってください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。