はじめに gRPCとGraphQLをどう使い分けるかがわからず混乱していたので、軽く整理した。 どう違うか GraphQLはAPI用のクエリ言語で必要なデータを指定することで無駄な通信をしないようにすることができる。 一方でgRPCはProtocol bufferを用いてRPC(サーバー上のメソッドをあたかもクライアント側で呼んでいるかのように見せるもの)を実現している。 どちらも、サーバーに対してリクエストを出しレスポンスを受け取るという目的は一緒。 ただ、gRPCはGraphqlのように柔軟なクエリ(関数呼び出し)はない。 サービスという形でRPCの関数を呼び出し結果を得るが、その結果の形は固定。 また、Mediumの記事でも述べられている通り、gRPCは低レベル向き、GraphQLは高レベル向き。 なので、ウェブアプリを作るときには、フロント側がアクセスするAPIはGraphQLで、