irisはGo言語ベースの最速のWebアプリケーションフレームワークです。効率的で適切に設計されたクロスプラットフォームの未来的なWebフレームワークとして注目を集めております。この記事ではirisを理解するために初心者でも分かる歴史、特徴などの基礎知識を簡単に解説していきます。
iris(アイリス)とはGo言語に活用されるジェラシモス・マロプロス氏によって開発された新しい未来的なWebフレームワークです。公式サイトでも『最速のWebフレームワーク』を謳っており、Webサーバ、デスクトップ、スマートフォンなど様々な環境を問わず高速のパフォーマンスを発揮します。その他の特徴としてクロスプラットフォーム、MVCモデルなどが挙げられます。Go言語の中でも圧倒的なドキュメント量を実現しており、情報量の多さから効率良く学習が出来ることも人気を集めている理由の一つです。
Go言語とはGoogle社にてロバート・グリーセマー氏等が中心となって2009年に開発されたC言語をモデルとするコンパイル言語です。Go言語は「シンプルで信頼性が高く、効率的なソフトウェアを簡単に構築できるオープンソースのプログラミング言語」を公式サイトにて掲げております。Googleが開発したこともあり誕生当初から高い注目を集めており、2018年ビズリーチ社の調査によるとGo言語は最も年収の高いプログラミング言語として発表されその注目度の高さが伺えました。
用途としてWebアプリケーションやWebサーバーの開発に度々活用されますが、Web系以外にもスマートフォンアプリ、AI開発などでも注目を集めております。特徴として『高速な処理』『並行処理に強い』などが挙げられます。人気、注目度共に数あるプログラミング言語の中で最前線を走る言語の一つと言えます。
irisの読み方は『アイリス』です。名前の由来は調査の結果出てきませんでした。irisを直訳すると「虹彩」といった意味があります。
irisはジェラシモス・マロプロス氏によってGo言語ベースのWebアプリケーションフレームワークとして開発されました。誕生時期に関する参考文献は見つからず、Web上で発見できた一番古い記事で2017年時点での使用報告が確認できております。github上に記録されたリリース履歴は2019年10月の「iris v12.0.0」が一番古いものとなっておりました。現在(2021年7月時点)では最新バージョンを「iris v12.2.0」としております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2019年 | 「iris v12.0.0」リリース |
2019年11月 | 「iris v12.1.0」リリース |
2020年2月 | 「iris v12.1.5」リリース |
2020年9月 | 「iris v12.2.0 a」リリース |
irisの特徴を見ていきましょう。
irisは最速のWebフレームワークであるという特徴があります。irisは他のどのHTTP/2フレームワークよりも高速に動作します。数多くの競合フレームワークと1秒あたりのリクエスト数、転送されたデータ、リクエストとレスポンスの間の時間を測定を実行したところ一番優秀な数値を叩き出しております。Webサーバやアプリケーションを高速に動作させることを実現することが多くのユーザに愛されている要因の一つです。
irisはクロスプラットフォームという特徴があります。デバイス問わず様々なプラットフォームで使用できます。またどのデバイスで使用しても高速処理を実現してくれます。
irislはMVCモデルという特徴があります。MVCモデルとはユーザインタフェースをもつアプリケーションソフトウェアを構築する上でプログラムの中身を整理するためのデザインパターンです。MVCモデルを採用したフレームワークは数多く存在し、中でも代表的なものがJava言語においては『Struts』Rubyにおいては『Ruby on Rails』などが挙げられます。
MVCモデルの歴史、特徴などの基礎知識について解説された記事はこちら>>
Gin以外のGo言語ベースによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
Echo(エコー)とはGo言語に活用されるLabStackによって管理される軽量なWebアプリケーションフレームワークです。前述のGinをモデルに誕生したフレームワークとして小規模から中規模のWebアプリケーション開発に向いており、軽量フレームワークとして最も注目を集めているフレームワークの一つです。高性能でいて、豊富な拡張機能、そして軽量のフレームワークであることが人気の理由となっております。
またRESTの原則に従って設計されたAPIを持つことも特徴の一つです。Echoで記述されたソースコードの読みやすさには定評があり開発効率の面でも高い評価を集めております。
Gin(ジン)とはGo言語に活用されるGinチームによって管理されるWebアプリケーションフレームワークです。Martini(マティーニ)をモデルに誕生したフレームワークとして同フレームワークのようなAPIを充実させており、パフォーマンスにおいては最大40倍もの高速性能を実現しております。他にも『ミドルウェアのサポート』『クラッシュフリー』などの様々な特徴が挙げられます。
GinではHTTPリクエスト中に発生したトラブルをキャッチして回復できます。このようにサーバーは常に使用可能になります。同言語に用いられるEchoというフレームワークにも参考にされており、Go言語におけるフレームワークとして初期の頃から人気を集めております。
Revel(レベル)とはGo言語に活用されるMVCモデルのフルスタックWebフレームワークです。JavaやScalaで活用されることで有名な『Play Framework』をモデルに開発されました。フルスタックフレームワークのためWebアプリケーション開発に必要な全てが取り揃えられております。Revelではプログラマーがソースコードを編集すると、自動コンパイルを行う仕様になっております。処理性能も高く、速度も速いことから人気を集めております。『Gin』や『Echo』と比較しても多機能であることが売りであることから大規模なアプリケーション開発に向いています。
irisを理解するために初心者でも分かる歴史、特徴などの基礎知識を簡単に解説させていただきました。irisを一言で表すと『Go言語ベースの最速で未来的なWebアプリケーションフレームワーク』です。特徴として「最速のWebフレームワーク」「クロスプラットフォーム」「MVCモデル」などが挙げられます。irisについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。