システム開発において高い需要を保ち続けるRubyにおいて使用されるフレームワークには沢山の種類があることをご存知でしょうか。Rubyのプログラマーとして活動するには人気を集める代表的なフレームワークついては把握をしておきたいものです。この記事ではRubyにおけるフレームワーク人気どころ7選をそれぞれの特徴を踏まえてご紹介させて頂きます。
『Rubyにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
RubyフレームワークとはRubyにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Rubyフレームワークの代表的な種類としてRuby on Rails、Hanami、Sinatraなどが挙げられます。
Rubyによるシステム開発に用いられる代表的なフレームワークを7つ紹介させていただきます。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
▼正式名称
Ruby on Rails(ルビーオンレイルズ)
▼起源
2004年7月
▼開発元
デビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏
HanamiとはRubyに活用されるルカ・ギティ(Luca Guidi)氏によって開発されたWebアプリケーションフレームワークです。2017年4月に誕生をしMVCモデルを採用しております。以前は『Lotus』という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。特徴としてはレスポンスの速さ、メモリの消費を最小限に抑えるなどが挙げられます。
▼正式名称
Hanami(ハナミ)
▼起源
2017年4月
▼開発元
ルカ・ギティ(Luca Guidi)氏
SinatraとはRubyに活用されるブレイク・ミゼラニー(Blake Mizerany)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2007年に誕生し『最小限の労力でRubyでWebアプリケーションをすばやく作成するためのDSL』を掲げております。特徴として軽量フレームワークと言われており、提供している機能が必要最低限で小規模なウェブサイトの構築に向いております。
またRuby on Railsとは対となる考え方で作成されているというのも特徴の一つです。Sinatraは世界的にも名だたる企業や団体に採用されており代表的なところではアップルBBC、LinkedeIn、スタンフォード大学、RedHatなどが挙げられます。
▼正式名称
Sinatra(シナトラ)
▼起源
2007年
▼開発元
ブレイク・ミゼラニー(Blake Mizerany)氏
PadrinoとはRubyに活用されるネイサン・エスケナジ(Nathan Esquenazi)氏等によって開発されたオープンソースのWebアプリケーションフレームワークです。PadrinoはSinatraを参考に誕生し、Sinatraでは採用していなかったMVCモデルを採用しました。公式サイトにも『Padrinoは、Sinatra Webライブラリに基づいて構築されたRuby Webフレームワークです。』と掲げております。
そのテーマはSinatraを優れたものにする精神を守りつつ、より高度なWebアプリケーションを楽しく簡単にコーディング出来るようにとしております。特徴として小さくて速い、清潔でコンパクト、創造的で簡潔などが挙げられます。
▼正式名称
Padrino(パドリーノ)
▼起源
2011年6月
▼開発元
ネイサン・エスケナジ(Nathan Esquenazi)氏等
RamazeとはRubyに活用されるマイケル・フェリンガー(Michael Felinger)氏によって開発されたオープンソースWebアプリケーションフレームワークです。Ramazeは非常にシンプルで分かりやすいフレームワークで特徴としてはRubyの文法を忠実に使用しているということが挙げられます。また『KISS』と『POLS』というそれぞれの原則の組み合わせを取り入れております。シンプルでかつ自由度が高いフレームワークとして親しまれております。
▼正式名称
Ramaze(ラマゼ)
▼起源
2007年1月
▼開発元
マイケル・フェリンガー(Michael Felinger)氏
Sensio Labs
CubaとはRubyに活用されるミシェル・マルテンス(Michel Martens)氏によって開発されたWebアプリケーションのマイクロフレームワークです。通常のフレームワークと比較してシンプルな機能だけを集めているためマイクロフレームワークと呼ばれております。2010年4月RumというRackアプリケーション用のマッパーから影響を受けて誕生しました。その名の通り機能をシンプルでかつ最小限に抑えた構造になっていることが特徴です。
▼正式名称
Cuba(キューバ)
▼起源
2010年4月
▼開発元
ミシェル・マルテンス(Michel Martens)氏
CampingとはRubyに活用されるジョナサン・ジレット(Jonathan Gillette)氏によって開発されたWebアプリケーションのマイクロフレームワークです。2010年8月に誕生し、Ruby on Railsと同様にMVCモデルを採用しております。特徴として非常に軽量であることやRuby on Railsへの移行が容易ということなどが挙げられます。これらのことから小さなRuby on Railsとして親しまれております。
▼正式名称
Camping(キャンピング)
▼起源
2010年8月
▼開発元
ジョナサン・ジレット(Jonathan Gillette)氏
Rubyにおけるフレームワーク人気どころ7選をそれぞれの特徴を踏まえてご紹介させて頂きました。Rubyフレームワークを一言で表すと『Rubyにおけるシステム開発を簡単に行えるように用意された枠組みのこと』です。皆さんのご存知のフレームワークや新たな発見はありましたでしょうか。こちらでご紹介させて頂いた代表的なフレームワークの理解を深めておくことで関わることの出来るシステム開発の幅も広がることでしょう。