マイクロフレームワークとはWebアプリケーションフレームワークの分類の一つで、中でも軽量で必要最低限の機能を取り揃えたものです。この記事ではマイクロフレームワークを理解するために初心者でも分かる特徴、種類、基礎知識などを簡単に解説していきます。
マイクロフレームワークとはWebアプリケーションフレームワークの分類の一つで、中でも軽量で必要最低限の機能を取り揃えたものを指します。マイクロフレームワークのことを別名『軽量フレームワーク』と呼びます。特に小規模でシンプルなWebアプリケーションの開発を実行することに向いております。
マイクロフレームワークの特徴として「シンプルで自由度が高い」「学習コストが低い」などが挙げられます。対照的なフレームワークとして大規模な開発に向いており網羅的に機能を取り揃えたフルスタックフレームワークというものも存在します。
マイクロフレームワークの特徴を見ていきましょう。
マイクロフレームワークには軽量という特徴があります。ここでいう軽量とは主にWebアプリケーションの開発において必要最低限の機能を取り揃えているということです。
マイクロフレームワークにはシンプルで自由度が高いという特徴があります。マイクロフレームワークと対照的なフルスタックフレームワークでは多機能を実現しているため制限されることが多く自由度が低いというデメリットがありました。一方でマイクロフレームワークでは必要最低限の機能に抑えていることからユーザにとってシンプルで自由度の高い操作を実現することができます。
マイクロフレームワークは学習コストが低いという特徴があります。必要最低限の機能ということもあり、シンプルな設計になっていることから覚えなくてはいけないルールも少ないので初心者にも理解しやすい仕様になっております。
マイクロフレームワークの主な種類をご紹介させていただきます。
Flask(フラスク)とはPythonに活用されるアーミン・ロナッチャー氏によって開発されたWebアプリケーションフレームワークです。2010年4月1日のエイプリールフールに誕生し、アーミン・ロナッチャー氏は「エイプリールフールのジョークで作ったのだが、いつの間にか有名にそして本格的になってしまった」と語っております。特徴として提供される機能を最小限に抑えていることから『マイクロフレームワーク』と呼ばれております。シンプルな作りであることから学習コストが低く、導入障壁が低いこともメリットとして挙げられます。特に小規模でシンプルなWebアプリケーションの開発を実行する際に人気を集めております。
Tornado(トルネード)とはPythonに活用されるFriendFeed社によって開発されたWebアプリケーションフレームワークです。2009年に誕生し、FriendFeed社がFacebook社に吸収された後にオープンソース化されました。特徴として『非同期処理』や『同時接続処理』を得意しております。ノンブロッキングネットワークI / Oを使用することで、数万のオープン接続に拡張できるため、 ロングポーリング、 WebSocket、および各ユーザーへの長期間の接続を必要とするその他のアプリケーションに最適です。
Bottle(ボトル)とはPythonに活用されるマルセル・ヘルカンプ氏によって開発されたWebアプリケーションフレームワークです。2009年7月に高速、シンプル、軽量になるように設計されたマイクロフレームワークとして誕生しました。シンプルさを売りにしていることから標準搭載された機能は限定的なものです。どれほどシンプルかというとBottleは一つのファイルで構成されております。マイクロフレームワークであるFlaskと同様に小規模でシンプルなWebアプリケーションの開発を実行する際に人気を集めております。
HanamiとはRubyに活用されるルカ・ギティ(Luca Guidi)氏によって開発されたWebアプリケーションマイクロフレームワークです。2017年4月に誕生をしMVCモデルを採用しております。以前は『Lotus』という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。特徴としてはレスポンスの速さ、メモリの消費を最小限に抑えるなどが挙げられます。
Scalatraとはシンプルで簡単をテーマに開発されたWebマイクロフレームワークです。ScalatraはJVMのパワーとScalaの美しさと簡潔さを組み合わせ、高性能のWebサイトとAPIをすばやく構築が可能です。名称からも分かるようにRuby用のフレームワークであるSinatraをモデルに開発されました。
Scalatraの公式サイトはこちら>>
Scalatraの歴史やできること、基礎知識について解説された記事はこちら>>
マイクロフレームワークを理解するために初心者でも分かる特徴、種類、基礎知識などを簡単に解説させていただきました。マイクロフレームワークを一言で表すと『軽量で必要最低限の機能を取り揃えたフレームワーク』です。特徴として「軽量(マイクロ)」「シンプルで自由度が高い」「学習コストが低い」などが挙げられます。マイクロフレームワークについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。