Repolode
gofiber

gofiber/fiber

fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。

スター
40,223
フォーク
2,054
未解決の Issue
21
最終コミット
14 時間前

これは何?

FiberはGo向けのWebフレームワークです。APIのスタイルはExpress.jsを参考にしているため、Node.jsに慣れた開発者なら、ルーティングやミドルウェア、ハンドラーのパターンをすぐに使いこなせます。fasthttp上で動作し、メモリ使用量の少なさと、リクエスト処理でのメモリアロケーションをゼロにすることを重視しています。また、contextの値はリクエスト間で再利用されます。

パスパラメーターを使ったルーティング、静的ファイルの配信、テンプレートエンジン、WebSocketとServer-Sent Eventsに対応し、CORS、CSRF、レート制限、圧縮、キャッシュ、セッション、JWT形式のキー認証、ヘルスチェックなど、多数の組み込みミドルウェアを備えています。既存のnet/httpハンドラーをそのまま受け入れられるほか、アプリ全体をどちらの方向にも橋渡しできるアダプターミドルウェアも用意されています。

Fiber v3の動作にはGo 1.26以降が必要です。unsafeを使用しているため、最新のGoリリースへの対応が常に追いつくとは限らないとREADMEに記載されています。

主な機能

  • 01パスパラメーターとワイルドカードに対応したExpress.jsスタイルのルーティング
  • 02CORS、CSRF、レート制限、圧縮、キャッシュに対応する組み込みミドルウェア
  • 03WebSocketとServer-Sent Eventsへの対応
  • 04gofiber/templateパッケージを通じたテンプレートエンジン連携
  • 05net/httpハンドラーを直接受け入れ、アプリの橋渡しに使えるアダプターも提供

ユースケース

  • GoでREST APIやJSONバックエンドを構築する
  • Express.jsスタイルのサービスをGoに移植する
  • Goサーバーから静的サイトやシングルページアプリのアセットを配信する
  • WebSocketやSSEのエンドポイントでリアルタイム機能を追加する

クイックスタート

  1. 1

    Go 1.26 以降をインストールする

  2. 2

    プロジェクトで Go モジュールを初期化する

    go mod init github.com/your/repo
  3. 3

    Fiber をインストールする

    go get -u github.com/gofiber/fiber/v3
  4. 4

    Hello World の例を main.go として保存して実行し、localhost:3000 にアクセスする

使う前に知っておきたいこと

  • Go 1.26 以降が必要なため、古い Go ツールチェーンは使用できません。
  • Fiber は unsafe コードを使用するため、最新の Go バージョンと常に互換性があるとは限りません。
  • fiber.Ctx の値はリクエスト間で再利用されるため、ハンドラーの戻り後に保持してはいけません。

トピック

よくある質問

fiber とは?
fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。 FiberはGo向けのWebフレームワークです。APIのスタイルはExpress.jsを参考にしているため、Node.jsに慣れた開発者なら、ルーティングやミドルウェア、ハンドラーのパターンをすぐに使いこなせます。fasthttp上で動作し、メモリ使用量の少なさと、リクエスト処理でのメモリアロケーションをゼロにすることを重視しています。また、contextの値はリクエスト間で再利用されます。
fiber は無料で使えますか?ライセンスは?
fiber は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
fiber は今もメンテナンスされていますか?
活発にメンテナンス中。fiber の最終コミットは 2026年10月19日 です。
fiber は何に使えますか?
GoでREST APIやJSONバックエンドを構築する Express.jsスタイルのサービスをGoに移植する Goサーバーから静的サイトやシングルページアプリのアセットを配信する WebSocketやSSEのエンドポイントでリアルタイム機能を追加する
fiber のインストール方法は?
Go 1.26 以降をインストールする プロジェクトで Go モジュールを初期化する: go mod init github.com/your/repo Fiber をインストールする: go get -u github.com/gofiber/fiber/v3 Hello World の例を main.go として保存して実行し、localhost:3000 にアクセスする
fiber はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/gofiber/fiber

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト