バージョンアップ情報
Gin情報
Ginとは
Ginは、Go言語で書かれたWebフレームワークです。同じGo言語のWebフレームワークであるmartini*1に似たAPIを提供していますが、性能面ではhttprouterを使用することでmartiniの40倍高速にリクエストを処理することが可能になっています。
コミュニティによる開発が活発に行われておりGithubのStarやContributorの数でもGo言語のWebフレームワークの中では最多です。公式のドキュメントや各APIを使った各種のWebサービスのサンプルコードも充実している上、公式の日本語のドキュメントが提供されている数少ないWebフレームワークの1つです。
*1 martiniは初期のGo言語Webフレームワークとしてよく知られていますが、開発が2014で止まっています。
主な特徴
高速なリクエスト処理
httprouter パッケージを使うことで高速なリクエスト処理を可能にしています。httpサーバの多くはwebサイトの構成をTree構造で保存します。そしてリクエストを受け取るとtree構造のデータから探索します。httprouter は圧縮されたRadix tree(基本木)を使用することで効率的にリクエストにマッチするデータを探索します。
多数のミドルウェアサポート
Ginが受け取ったリクエストは複数のミドルウェアを経由して処理されます。Ginは多くのミドルウェアが提供されていますので、モダンなWebサイトで必要とされる機能はほぼ網羅しており、各種ミドルウェアを組み合わせることで目的の機能を提供することが可能です。 また、目的のミドルウェアがない場合は自身でミドルウェアを作ることも可能です。
クラッシュフリー
GinはHTTPリクエスト処理中に発生したパニックをキャッチしてリカバーするためサーバプロセスがクラッシュすることがありません。サーバの停止が発生せず、常にサービスを提供することが可能です。発生したパニックはSentryなどのモニタリングツールに送信することもできます。
JSONバリデーション
標準でJSONのパーサーとバリデーション機能が提供されています。
ビルトインのレンダリング
標準で提供されているHTML、XML、JSONのレンダリングエンジンを簡単なAPIを通じて使用可能です。
エラーマネージメント
ミドルウェアによって発生するエラーをいろいろな方法で管理することが可能です。ログに出力したり、データベースに送ることや、ネットワーク経由で送信することもできます。
動作環境
Go 1.13以上のバージョンで動作します。
Ginのライセンス
Ginは、MITライセンスの元に提供されているオープンソースのソフトウェアです。ユーザーはそのソフトウェアの使用や頒布、修正、派生版の頒布をすることに制限を受けません。
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Vue.js
ヴュー・ジェイエス。SPA(シングルページアプリケーション)に向いたJavaScriptフレームワークです。
-
サポート対象
Spring Boot
スプリング ブート。Springフレームワークのアプリケーションを簡単に開発できるオープンソースのJavaフレームワークです。
-
サポート対象
React
リアクト。Facebookが作成したMVCモデルのView領域を担当するJavascriptのUIライブラリです。
-
Django
ジャンゴ。Pythonで実装されたWebアプリケーションのフレームワークです。