1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

RubyとRuby on Rails の違いとは?

Pocket

Ruby(ルビー)についていろいろと調べると、Ruby on Railsを目にすることはありませんか。名前が似ていることもあってか、よく混同されがちです。今回は、そんな「RubyとRuby on Railsの違い」について解説していきます。

RubyとRuby on Rails の違い

RubyとRuby on Railsはとてもよく見かけるキーワードですが、一体どういった違いがあるのでしょうか。

    Rubyは「プログラミング言語」

  • 仲間・・・PHPやPythonなども同じくプログラム言語
  • そのため、基本的にコンピュータに自動化させたいことは何でも対応できるようにつくられています。Webアプリケーションに限らず、パソコンに自分だけの便利なコマンドを作ることもできます。

    Ruby on Railsは「フレームワーク」

  • 仲間・・・PHPのCakePHPやPythonのDjangoなど
  • 正確にはWebアプリケーションフレームワークといいます。Webアプリケーションを開発するための枠組みを提供します。

Rubyについて

Rubyはオブジェクト指向スクリプト言語です。日本のまつもとゆきひろ氏により開発されました。

Rubyは、インタープリタ言語でコードを書くとすぐに実行できます。実行結果を素早く確認できるので書いては修正ということがやりやすい言語です。ただ、コードを解釈しながら実行するためにインタープリタ言語の処理速度はコンパイラ言語と比較して遅くなります。

一方、JavaやC#などのコンパイラ言語はコードを記述したらコンパイルしてコンピュータが理解し、実行可能な状態に変換します。それからプログラムを実行する必要があります。コードを書いてから実行結果を確認できるまでにコンパイルというステップを踏むことになるのです。しかし、コンパイルされたプログラムはインタープリタ型言語より処理速度が速いのが特徴があります。

Ruby on Rails

Ruby on RailsはWebアプリケーション効率良く作成することを目的にした機能と規約(ルールと考えれるとイメージしやすいです)を提供する道具です。さらにアプリケーション開発のデザインパターン(雛形)としてMVCを提供します。

機能・・・たとえば、データベースへのアクセスを直感的に操作できる機能を提供しています。従来データベースを操作するにはSQLという言語を使用します。

では、SQLとRailsの違いを見てみましょう。ProdutsテーブルからID 100を検索する場合、Ruby on Railsでは少ない記述で検索することができます。

    SQLの場合

  • SELECT * FROM Products WHERE id = 100;
    Railsの場合

  • Product.find(100)

上記のようにRailsの機能を使うと短い記述で検索ができます。

もちろんSQLで検索もできるのですが、直感的にわかりやすいデータベースの操作をRuby on Railsでは提供しています。

規約・・・データベースの例ではテーブル名は複数形を使用する規約があります。Ruby on Railsなどのフレームワークは独自の規約(ルール)を決めています。それを守っていると複雑な処理を簡単にできるようになります。

MVC
Ruby on RailsではWebアプリケーションの開発する方法として、MVCの設計法で開発していきます。

これはアプリケーションを3つの構造にわけて開発していく設計法。

  • M=Model(モデル) データの処理
  • V=View(ビュー) 見た目の処理
  • C=Controller(コントローラ) ModelとViewを制御する

おわりに

RubyとRuby on Railsの違いがおわかりいただけたと思います。プログラミング言語とフレームワークは混同されがちですが、違いをしっかりと把握し、学んでいきましょう。

【おすすめ記事】
Rubyを勉強できる学習サイト5つまとめ
Ruby on Railsを学べる学習サイト7選

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る