Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。
CrowCpp/Crow
HTTP/WebSocketサービスを構築するための、高速で使いやすいFlask風C++マイクロフレームワーク。ヘッダーオンリーで利用できます。
- スター
- 5,009
- フォーク
- 565
- 未解決の Issue
- 91
- 最終コミット
- 一昨日
これは何?
Crowは、HTTPおよびWebSocketのWebサービスを構築するためのC++フレームワークです。ルーティングのスタイルはPythonのFlaskを手本としており、URLパターンとハンドラー関数を使ってエンドポイントを定義できるため、PythonやJavaScriptのWebフレームワークに慣れた開発者にもなじみやすい設計です。
ハンドラーの型はURLパラメーターに対してコンパイル時にチェックされるため、/hello/<int>のようなルートとハンドラーのシグネチャが一致しない場合は、コンパイルエラーとして報告されます。また、JSONリクエスト/レスポンス対応、Mustacheベースのテンプレート機能、multipartリクエスト/レスポンスの処理、拡張用のミドルウェアも備えています。
Crowはヘッダーオンリーライブラリとして配布されており、単一ヘッダー版も利用できます。C++11/14を対象としています。非同期処理とHTTP/2は開発中の機能として記載されています。
主な機能
- 01URLパラメーターに対応したFlask風のルーティング。
- 02ハンドラーの引数とURLパラメーターをコンパイル時に型チェック。
- 03JSONリクエスト/レスポンスに標準対応。
- 04crow::mustacheによるMustacheベースのテンプレート機能。
- 05ヘッダーオンリーライブラリで、単一ヘッダー版も利用可能。
- 06ミドルウェア対応とWebSocket処理。
ユースケース
- 大規模なフレームワークを使わずに、C++で軽量なREST APIを構築する。
- 既存のC++アプリケーションにHTTPまたはWebSocketのエンドポイントを追加する。
- Mustacheテンプレートを使って、シンプルなサーバーサイドレンダリングのページを配信する。
クイックスタート
- 1
READMEにリンクされているセットアップガイドを開きます
- 2
crow.hをインクルードし、READMEのHello Worldの例をビルドします
使う前に知っておきたいこと
- プロジェクトのメタデータではライセンスが明確に特定されていないため、使用前にLICENSEファイルを確認してください。
- AsyncサポートとHTTP/2はまだ開発中です。
- READMEにはパッケージマネージャーでのインストールコマンドが記載されておらず、セットアップ方法は外部ガイドでのみ説明されています。
トピック
よくある質問
- Crow とは?
- HTTP/WebSocketサービスを構築するための、高速で使いやすいFlask風C++マイクロフレームワーク。ヘッダーオンリーで利用できます。 Crowは、HTTPおよびWebSocketのWebサービスを構築するためのC++フレームワークです。ルーティングのスタイルはPythonのFlaskを手本としており、URLパターンとハンドラー関数を使ってエンドポイントを定義できるため、PythonやJavaScriptのWebフレームワークに慣れた開発者にもなじみやすい設計です。
- Crow は無料で使えますか?ライセンスは?
- Crow は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- Crow は今もメンテナンスされていますか?
- 活発にメンテナンス中。Crow の最終コミットは 2026年10月19日 です。
- Crow は何に使えますか?
- 大規模なフレームワークを使わずに、C++で軽量なREST APIを構築する。 既存のC++アプリケーションにHTTPまたはWebSocketのエンドポイントを追加する。 Mustacheテンプレートを使って、シンプルなサーバーサイドレンダリングのページを配信する。
- Crow のインストール方法は?
- READMEにリンクされているセットアップガイドを開きます crow.hをインクルードし、READMEのHello Worldの例をビルドします
- Crow はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/CrowCpp/Crow
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。
迅速な開発と、すっきりとした実用的な設計を促す高水準のPython Webフレームワーク。
TypeScriptまたはJavaScriptで、効率的かつスケーラブルなサーバーサイドアプリケーションを構築するための、進化型Node.jsフレームワークです。
Node.jsでWebアプリやHTTP APIを構築するための、高速で自由度の高いミニマルなWebフレームワーク。
サービス通信、ディスカバリー、トラフィック管理を実現するRPC・マイクロサービスフレームワーク、Apache DubboのJava実装。