connect-go
https://connect.build/
Buf が開発した Connect 向けの protocプラグイン、コードジェネレータ
Goによるサーバーサイド実装と、Go向けのクライアント実装が出力される
便利な点と特徴
connect-go を使用して作成されたAPIサーバーは gRPC でも通信が行えるほか envoy などのプロキシを使用せず gRPC-WEB として振る舞うことができる。
出力されたサーバー実装が Go の net/http をベースとしたものとなっている
デフォルトでは Mux がWebサーバーのフレームワークとして採用されている
そのため従来のHTTPサーバーを作る際に使用してきた多くのミドルウェアを gRPC-WEB や Connect の機能として取り込める
【未検証】gRPC:Interceptor との互換性もあるため protoc-gen-go や protoc-gen-go-grpc を使用した gRPC サーバーで使用していた Interceptor を Connect サーバーに持ち込むこともできるらしい。(todo)
懸念点
gRPC や gRPC-WEB と互換性があるとはいえ、やはり出たてなので継続性や安定性には懸念が残る
活発に開発が続いており 2022-10-05 には正式版 1.0 がめでたくリリースされた
https://github.com/bufbuild/connect-go/releases/tag/v1.0.0
とはいえ今後の利用領域やコミュニティの拡大、本家のgRPCとどう協調していくかを見守っておくのが良さそう