HanamiはRubyに活用されるオープンソースWebアプリケーションフレームワークです。2017年4月に登場したばかりの比較的新しいフレームワークですがRubyユーザーの中で着々と人気を伸ばしております。名称も日本の文化にちなんで『花見』から名付けられており愛嬌が感じられます。この記事ではHanamiを理解するために初心者でも分かる歴史、メリット、基礎知識などを簡単に解説していきます。
HanamiとはRubyに活用されるルカ・ギティ(Luca Guidi)氏によって開発されたWebアプリケーションフレームワークです。2017年4月に誕生をしMVCモデルを採用しております。以前は『Lotus』という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。特徴としてはレスポンスの速さ、メモリの消費を最小限に抑えるなどが挙げられます。
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などが挙げられます。
Hanamiの読み方は『ハナミ』です。「Lotus」という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。Hanamiの名前の由来は日本の文化でもある「花見」から名付けられたそうです。
Hanamiは2017年4月にルカ・ギティ(Luca Guidi)氏の開発によって誕生しました。
バージョンアップについて簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2017年4月 | Hanami v1.0.0 リリース |
2017年10月 | Hanami v1.1.0 リリース |
2018年4月 | Hanami v1.2.0 リリース |
2005年 | Apacheのトップレベルプロジェクトに昇格 |
2018年10月 | Hanami v1.3.0 リリース |
2019年7月 | Hanami v2.0.0 aldha1 発表 |
Hanamiのメリットを見ていきましょう。
Hanamiはレスポンスが速いというメリットがあります。スピードに最適化されており、ミリ秒単位で応答を返します。コンテンツ配信ネットワークを最大限に活用して、アプリを高速化しております。
Hanamiはメモリの消費を最小限に抑えるというメリットがあります。Hanamiでは100以上の機能を 使用して、メモリを犠牲にすることなく強力な製品を構築します。他のフル機能のRubyフレームワークよりも約60%近いメモリを抑えて消費します。
Hanamiはサーバダウン防止機能があるというメリットがあります。アクセス過多を防ぐための「スレッドセーフ」という機能が兼ね備えられております。
Hanami以外のRubyによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。
特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
Ruby on Railsの公式サイトはこちら>>
Ruby on Railsの歴史やできること、基礎知識について解説された記事はこちら>>
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』というそれぞれの原則の組み合わせを取り入れております。シンプルでかつ自由度が高いフレームワークとして親しまれております。
Hanamiを理解するために初心者でも分かる歴史、メリット、基礎知識などを簡単に解説させていただきました。Hanamiを一言で表すと『軽量でメモリ消費を最小限に設計されたフレームワーク』です。Hanamiには「レスポンスが速い」「メモリの消費を最小限に抑える」「サーバダウン防止」というメリットが挙げられます。Hanamiについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。