トップ OSS紹介 Gin

Gin

NRIのOpenStandiaが提供するGin最新情報

バージョンアップ情報

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
    サポート対象

    Vue.js

    ヴュー・ジェイエス。SPA(シングルページアプリケーション)に向いたJavaScriptフレームワークです。

  • Spring Boot
    サポート対象

    Spring Boot

    スプリング ブート。Springフレームワークのアプリケーションを簡単に開発できるオープンソースのJavaフレームワークです。

  • React
    サポート対象

    React

    リアクト。Facebookが作成したMVCモデルのView領域を担当するJavascriptのUIライブラリです。

  • Django

    Django

    ジャンゴ。Pythonで実装されたWebアプリケーションのフレームワークです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。