Ruby on RailsはRubyに活用されるオープンソースWebアプリケーションフレームワークです。2004年7月の登場以降、RubyがWeb開発にて多くの場面で使用されるキッカケとなりました。数多くの有名サービスでも使用される環境で、プログラマーの方であればその名前を聞いたことない方はいないほどでしょう。この記事ではRuby on Railsを理解するために初心者でも分かるメリット・デメリット、基礎知識などを簡単に解説していきます。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
Rubyとはまつもとゆきひろ氏によって1995年に開発されたオープンソースでオブジェクト指向のプログラミング言語です。日本人プログラマーのよって開発された言語として初めて国際電気標準会議(IEC)で国際規格に認証されました。2018年には米国において最も稼げる言語はRubyと言われるほど国内外問わず世界的にも注目を集めております。Rubyというその名称には『Perl(パール)に続ぐ』という意味が込められており6月宝石であるPerlの次月(7月)宝石のRuby(ルビー)という名称を採用することになりました。Rubyの特徴は記述量が少なく、自由度が高い、そして何より『書くことが楽しい』と多くのプログラマーの方が口を揃えております。RubyはWebアプリケーションの開発に最も向いており代表的な開発事例としてGunosy、食べログ、価格.comなどが挙げられます。
『Rubyにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
RubyフレームワークとはRubyにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Rubyフレームワークの代表的な種類としてRuby on Rails、Hanami、Sinatraなどが挙げられます。
Ruby on Railsの読み方は『ルビィ オン レイルズ』です。エンジニア界隈では略称して「レイルズ」と呼ばれることが多いようです。Ruby on Railsという名前の由来はRailsを直訳すると線路(レール)であることからも分かるように、RubyでのWeb開発が走りやすくするためのフレームワーク(線路)から名付けられたそうです。
Ruby on RailsはRuby言語の素晴らしさに魅了されたデビッド・ハイネマイヤー・ハンソン氏によって開発され2004年7月に誕生しました。Rubyは元々、業務効率化やシステム効率化のために活用される言語として使用されていたのですが、Ruby on Railsの誕生によってWeb開発においても大くの場面で使用されるようになりました。近年、様々な新しい環境の登場により人気・注目度は下降気味ですが、それでも多くの場面で使用されております。
登場以来度重なるアップデートを繰り返し2020年11月現在の最新バージョンは6となっております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2004年7月 | 最初のバージョン公開 |
2005年12月 | Ruby on Rails 1.0リリース |
2007年12月 | Ruby on Rails 2.0リリース |
2010年8月 | Ruby on Rails 3.0リリース |
2013年6月 | Ruby on Rails 4.0リリース |
2016年6月 | Ruby on Rails 5.0リリース |
2019年8月 | Ruby on Rails 6.0リリース |
Ruby on Railsのメリットを見ていきましょう。
Ruby on Railsは基本的な作業が仕組み化されているというメリットがあります。『同じことを繰り返さない』という基本理念の名の下、同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。Ruby on Railsでは「Rails new」というコマンドを使用するのみでアプリケーションを作成するのに必要な基本的な仕組みや機能が実装することができます。
Ruby on RailsはRubyとの相性が素晴らしいというメリットがあります。Rubyには様々なフレームワークが存在しますが、中でもRuby on Railsとの相性の良さが素晴らしいとプログラマーの間でも凄まじい人気を集めております。Ruby on Railsは「同じことを繰り返さない」を基本理念としており「簡単なことがより簡単にできる」という特徴から記述がしやすく自由度が高いRubyと最高の相性となるように開発されております。
Ruby on Railsは日本語ドキュメントが充実しているというメリットがあります。これは Rubyがまつもとゆきひろ氏という日本人プログラマーが生み出した言語でもあることから、国産プログラミング言語として愛されており日本国内での開発実績が多く情報が蓄積されているということが背景にあります。
Ruby on Rails以外のRubyによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
HanamiとはRubyに活用されるルカ・ギティ(Luca Guidi)氏によって開発されたWebアプリケーションフレームワークです。2017年4月に誕生をしMVCモデルを採用しております。以前は『Lotus』という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。特徴としてはレスポンスの速さ、メモリの消費を最小限に抑えるなどが挙げられます。
SinatraとはRubyに活用されるブレイク・ミゼラニー(Blake Mizerany)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2007年に誕生し『最小限の労力でRubyでWebアプリケーションをすばやく作成するためのDSL』を掲げております。
特徴として軽量フレームワークと言われており、提供している機能が必要最低限で小規模なウェブサイトの構築に向いております。またRuby on Railsとは対となる考え方で作成されているというのも特徴の一つです。Sinatraは世界的にも名だたる企業や団体に採用されており代表的なところではアップルBBC、LinkedeIn、スタンフォード大学、RedHatなどが挙げられます。
RamazeとはRubyに活用されるマイケル・フェリンガー(Michael Felinger)氏によって開発されたオープンソースWebアプリケーションフレームワークです。Ramazeは非常にシンプルで分かりやすいフレームワークで特徴としてはRubyの文法を忠実に使用しているということが挙げられます。また『KISS』と『POLS』というそれぞれの原則の組み合わせを取り入れております。シンプルでかつ自由度が高いフレームワークとして親しまれております。
Ruby on Railsの影響を受けて誕生したフレームワークを見ていきましょう。
CakePHPとはPHPに活用されるcakeソフトウェア財団によって開発されたオープンソースWebアプリケーションフレームワークです。2005年3月に誕生しCakePHPの名の由来は、ケーキを焼くように手軽に開発するというもので公式ロゴにもケーキが採用されております。CakePHPの特徴は誰でも素早く快適に開発を行えることを目指して生み出されたプロトタイピング型のフレームワークとなっております。Ruby on Railsの概念を多数採用しており、Rails流の高速開発とPHP特有の機動性を兼ね備えております。
SymfonyとはPHPに活用される『Sensio Labs』によって開発されたオープンソースWebアプリケーションフレームワークです。2007年1月に誕生しWebアプリケーションの開発速度の向上とメンテナンス量の軽減を目的に作成されました。特徴としては目的の通り、開発効率が高く、セキュリティの設定も最小限に済むなどが挙げられ世界的にも注目を集めているフレームワークです。
Catalyst(カタリスト)とはPerlに活用されるセバスチャン・リーデル氏によって開発されたWebアプリケーションフレームワークです。セバスチャン・リーデル氏はCatalyst以外にもPerl向けのリアルタイムWebアプリケーションフレームワークである『Mojolicios』の生みの親でもあります。Catalystは2012年に誕生して以降、度重なるアップデートを繰り返し常に最新の環境で使いやすいと親しまれております。MVCモデルを採用しており、役割に応じて実装することで効率的に開発を行うことが出来ます。またCatalystでは開発やテストのためにCatalystは、組み込みの簡易HTTPサーバがあります。『Ruby on Rails』『Spring』など人気のフレームワークの影響を受けております。Ruby on Railsと同等の機能を用意していることから「Perl on Rails」と呼ばれることもあるようです。
Catalystの公式サイトはこちら>>
Catalystの歴史やできること、基礎知識について解説された記事はこちら>>
Ruby on Railsを理解するために初心者でも分かる歴史、メリット、基礎知識などを簡単に解説させていただきました。Ruby on Railsを一言で表すと『RubyでWeb開発を実施するために誕生し、Rubyの成長に大きな影響をもたらしたフレームワーク』です。Ruby on Railsには「基本的な作業が仕組み化されている」「Rubyとの相性が素晴らしい」「日本語ドキュメントが充実している」というメリットが挙げられます。Ruby on Railsについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。