Client-Side Patterns
生で <code>fetch</code> するのは辛い。専用クライアントを使うのが定石。
Mutation
データの変更(Create, Update, Delete)。
Major Players
Use Apollo Client if...
「キャッシュ正規化」が必要な大規模アプリ。GraphQLのデファクトスタンダード。
Use TanStack Query (React Query) if...
RESTとGraphQLが混在しているアプリ。あるいは、Apolloほど重厚な機能が要らない場合(<code>graphql-request</code> と組み合わせる)。
Use Relay if...
FacebookScaleの大規模アプリ。パフォーマンス最適化が極限まで求められる場合。学習コストは高い。
Code Generation (Codegen):
「スキーマからTypeScriptの型を自動生成する」のがGraphQL開発のハイライト。手書きの型定義はもう不要。