GitHubがGraphQLを採用した理由
従来のRESTから切り替えた動機はなんだろう? 🤔
🍔スケーラビリティの観点から
REST APIはアプリケーションの裏にいるデータベースへのアクセスの60%以上を担当する
GitHub の場合、使われ方が多岐にわたり、各アプリケーションの要求を満たすためには、必要なAPIを何度もリクエストする必要がある これは、GitHubを使うアプリケーションにとって暗黙的なパフォーマンスに上限を設定することとなり、GitHub的にもリソースが必要になってしまう。
🥤エンドポイントごとのメタ情報を収集する必要があった
エンドポイントごとにOAuth scopeを特定する必要があった 🍟 コードから型情報やドキュメントを自動生成できるようにしたかった
ということらしい。