Connect
https://gyazo.com/1ec9e7e601261919a52d9c98d5bb54be
Connect: A better gRPC
https://connect.build/
https://connect.build/docs/introduction/
より良いgRPCとはなにか?
Buf が提唱する「より良いgRPC」を実現する通信プロトコル Connect と、それらを実現するためのツール。
gRPC や gRPC-WEB としても振る舞えるが更に使いやすい独自のプロトコルという立ち位置
実際に使って見るには?
protoc-gen-go に加えて、Buf が protoc プラグインとして提供する connect-go を使い、Go 向けのサーバーとクライアントのコードを生成できる
同じくBuf 提供の protoc プラグインである connect-web を使うことで、Connect プロトコル と gRPC-WEB とそれぞれ互換性のあるクライアントコードを出力するため、ブラウザからも Connect を使った WebAPI の実行が可能となる。
gRPC や gRPC-WEB は事前にペイロードのシリアライズが必要であり、その関係上通信内容を確認するには開発者ツールをブラウザに gRPC-WEB Developer Tools インストールする必要がある。
ちなみにこの拡張機能はconnect-webのクライアントに互換性がない
機能追加が行われ connect-web の gRPC Transporter に対応された。
https://github.com/SafetyCulture/grpc-web-devtools/pull/141
一方でConnect の場合は JSON形式で送信されるため、専用の拡張機能を入れたりせず検証ツールからチェックすることが可能。この挙動を行うのは当然ながら Connect プロトコルで通信しているときに限定されるので注意。