Ruby on railsとは?特徴とできること

皆さん、Rubyという言葉を聞いたことがありますか?Rubyは最近急速に利用が進んでいるプログラミング言語です。特にWebシステム開発に利用されることが多く、食べログやCookpadといった大規模なサイトでも使われている、非常に優秀な言語です。そのRubyを一躍メジャーな存在に押し上げたのは、「Ruby on rails」というフレームワークです。Ruby on railsを使うと、簡単にWebシステムを開発できるため、あっという間に広まりました。

そこで本稿では、Ruby on railsがどういったものかを、特徴やできることを含めて解説していきます。

Ruby on railsとは?

kuguru,クグル,くぐる

Rubyとの違い

RubyとRuby on railsって、何が違うのでしょう?

  • Ruby:プログラミング言語
  • Ruby on rails:RubyでWebシステムを開発するためのフレームワーク

Ruby on railsは、RubyでWebシステムを開発する作業を楽にするための道具、という理解をしていただければ良いかと思います。

特徴

Ruby on railsはWebシステム開発用のフレームワークです。特徴としては、なんと言ってもMVCアーキテクチャを採用していることでしょう。MVCとはModel、View、Controllerの略で、Webシステムの機能をこの3つに分類して開発を進めていくスタイルです。

Modelはデータベースなど、永続化されたデータとビジネスロジックの処理を担当します。Viewはユーザが操作する画面の入出力や描画を担当します。Controllerは、ViewとModelの仲介をして、全体を制御します。このように役割分担することで、どこに何を書けば良いのかが明確になり、効率よく開発ができるようになります。また、DRY(Don’t Repeat Yourself)原則に基づいているので、同じコードを何度も書かなくてもいいように工夫されています。さらに、テストを自動化する仕組みを持っているので、従来のようにWebブラウザを立ち上げて操作しなくても、テストすることができます。

最後の特徴は、データベースを直感的に操作できる機能が提供されていることです。通常、データベースを操作する場合はSQLという専用の言語を使用しますが、Ruby on railsではSQLを使わなくてもデータベースの操作が可能です。

何ができる?

Ruby on railsを使えば、簡単にWebシステムを作ることができます。Webシステムとは、ブラウザ(Internet ExploreやGoogle Chromeなど)だけあればパソコンに何もインストールしなくても動くシステムのことです。

また、スマホアプリのサーバ側処理を開発することもできます。スマホ上で動くアプリ自体はJavaやSwiftといった他の言語で開発しますが、そのスマホ上のアプリからサーバへの問い合わせを処理するのにRuby on railsが使えるというわけです。

さらに、外向けのWebサイトだけでなく、企業内の業務システムをRuby on railsで構築することもできます。Ruby on railsはとにかく開発速度が速いので、業務要件がコロコロと変わるような業務システムでもすぐに対応できるという特徴があります。

フレームワークって何?

ビジネス,kuguru,クグル,くぐる
フレームワークという言葉は、Ruby専用用語ではありません。他のプログラミング言語にも有名なフレームワークは数多く存在します。
フレームワークとは、共通的な処理や何度も書かなければいけない処理などを事前に準備してくれている便利なツール群のことです。フレームワークを利用しなければ、すべての処理をいちから記述しなければなりませんが、フレームワークがあれば、基本的な処理はすべて用意されているので、やりたいことだけを記述すればすむようになります。
料理に例えるなら、シチューの元といったところでしょうか。シチューをいちから作るとなると、まずはホワイトソースから作らなければなりません。でも、シチューの元を使えば、後は具材を入れて煮ればOKですよね。そうした手軽さがフレームワークの利点です。プロの現場では、フレームワーク抜きで一からシステムを構築することは、まずありません。初心者でも、「簡単なWebシステムを作ってみたい!」という場合は、フレームワークが有効に活用できます。

Ruby on railsのヘルパーって?

Ruby on railsのヘルパーの機能

Viewは基本的にHTMLで作成するのですが、動的なコンテンツ(例えば検索キーを元にデータベースから取得したデータを一覧で表示するなど)を記述するには、HTMLの中にRubyコードを埋め込みます。簡単なコードなら問題は無いのですが、複雑なコードをHTMLの中に埋め込むと、非常に読みづらくなります。
また、共通的な処理の場合は、同じRubyコードを何度もHTMLに混ぜて記述することになるため、もしその共通的な処理に変更が生じたら、全部の箇所をひとつずつ変更しなければなりません。これはDRYの原則に反していて、保守性を大きく低下させてしまいます。
そこで登場するのがヘルパーという機能です。ヘルパーは、Viewから呼び出すことができるメソッドを定義することができる機能です。先ほどお話した、長い処理や何度も出てくる共通処理は、ヘルパーに記述しておいて、Viewからは1行で呼び出しを書けばよいのです。

モジュールとの違い

Rubyにはモジュールという概念があります。便利な共通機能を外出しのプログラムとしてまとめておき、必要に応じてそれを呼び出す、という考え方です。
こうして外出しにしたプログラムの集まりをモジュールと呼びます。先ほどご紹介したヘルパーは、このモジュールの一種で、Viewから呼び出すことができる特別なモジュールのことです。

まとめ

本稿では、Ruby on railsについて、その特徴やできることについて解説しました。Ruby on railsはWebシステム開発用のフレームワークで、これを利用すると簡単にWebシステムが開発できます。
Rubyと同じく、Ruby on railsも無料で入手できますので、興味がある方はインストールして触ってみてください。きれいなMVCアーキテクチャなので、MVCモデルの勉強にもなります。

▶Rubyの他の記事も見てみよう!
Rubyとは?何ができるのか徹底解説! | kuguru[クグル]
便利で使いやすいRuby!Rubyでできること、できないこと | kuguru[クグル]
Rubyの優れた5つの特徴!他の言語との比較 | kuguru[クグル]
Rubyのインストール方法!OS別に解説 | kuguru[クグル]
【Ruby】おすすめの開発環境は?OS別の環境構築方法 | kuguru[クグル]

関連記事

ページ上部へ戻る