TECHNOLOGY COMPARE

GraphQL / gRPC

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

GraphQLとgRPCはどちらも「通信・API方式」の技術なので、同じ土俵で比較しやすい組み合わせです。

通信・API方式

GraphQL

クライアントが必要なフィールドを指定するクエリ言語と実行方式。型付きスキーマを介して複数リソースのデータを一度に取得する。

何を担当する?

型付きスキーマを介して複数リソースのデータを一度に取得する。

いつ使う?

  • 画面ごとに必要データが大きく異なりスキーマを共有したいとき。

避けたい場面

  • 単純なHTTP リソース APIでキャッシュや運用を簡潔に保ちたいとき。
通信・API方式

gRPC

Protocol Buffersを使う高性能なRPC フレームワーク。サービス定義からクライアントとサーバーコードを生成しバイナリ通信する。

何を担当する?

サービス定義からクライアントとサーバーコードを生成しバイナリ通信する。

いつ使う?

  • 内部サービス間で型付きの高速通信とストリームを使うとき。

避けたい場面

  • ブラウザーへ人が読みやすい公開HTTP APIを直接提供するとき。
DIRECT RELATION

GraphQLとgRPCはサービス間APIの契約と通信形式で比較される。型付きスキーマを介して複数リソースのデータを一度に取得する。一方、gRPCはサービス定義からクライアントとサーバーコードを生成しバイナリ通信する。