とろろこんぶろぐ

かけだしR&Dフロントエンジニアの小言

GraphQL / TypeScript 参考リンク一覧

概要

GraphQL の理解を進める上で参考になったものを載せます。

React.js, TypeScript, Relay が使われるプロダクトを想定しています。

コンセプト

  • GraphQL 公式

GraphQL とは、を正確に知るための公式ドキュメントです。

graphql.org

  • GraphQLとクライアントサイドの実装指針

GraphQL とはどういうものかが読みやすくまとめられています。

GraphQLとクライアントサイドの実装指針.md · GitHub

  • GraphQL との向き合い方 2022 年版

2022 年現在における GraphQL の特徴がスライドでわかりやすくまとめられています。

speakerdeck.com

  • Render as you fetch incremental GraphQL fragments

Fragment Colocation のコンセプトがわかりやすく記載されています。 @defer のことまで語られていて先進的な記事です。

quramy.medium.com

  • React 時代に選ぶ GraphQL

React と GraphQL を重ねたときのコンセプトです(手前味噌)。

oisham.hatenablog.com

  • Relay React Conf 2021

Relay のコンセプトが動画で紹介されているのでわかりやすいです。 GraphQL というより Relay のコンセプトを学べます。

youtu.be

  • Render as you fetch

React 公式の Render as you fetch についての内容が分かります。 GraphQL は関係ありませんが、React で GraphQL を使う上では理解しておくと良さそうです。

17.reactjs.org

  • Relay.dev

Relay の公式ページです。 Relay で開発しない場合でも GraphQL を理解する上で参考になる内容が多分に含まれています。

relay.dev

Apollo の公式ページです。 こちらも Apollo を使う使わないに関わらず GraphQL を理解する上で参考になる内容が多分に含まれています。

www.apollographql.com

  • GraphQL Spec Draft

難しくてあんまり読んでませんが、重要なので置いておきます。

spec.graphql.org

サーバ / Schema 仕様

GraphQL のサーバや Schema 設計は難しいので、これらの内容を参考にして検討を進めています。

  • Relay サーバ仕様

relay.dev

github.com

techbookfest.org

プラグイン

GraphQL の Plugin である Envelop と利用 Plugin 例です。

  • Envelop

www.envelop.dev

N+1 解消の DataLoader の GitHub です。 紹介記事もたまに見ますが、コード量が多くないので直接読んだ方がはやいです。

github.com

Persisted Query

  • GraphQLとPersisted Query

Persisted Query について概要を学べます。

qiita.com

  • Relay Persisted Query

Relay で行う方法です。デフォルトの機能として紹介されているので、Apollo に比べて簡易だと思います。

Apollo はそもそも Persisted Query の概念が少し異なっているというのもあります。

Persisted Queries | Relay

エラー管理

エラーハンドリングはまだどういう形式が適切か判断できていないので、参考程度に読んでいるものたち。

  • エラーハンドリング

blog.logrocket.com

  • エラー型をユニオンに

relay.dev

www.apollographql.com

  • ZOZO Error handling

techblog.zozo.com

  • GraphQLにおけるエラーハンドリングの実践

techblog.gaudiy.com

ブログ記事

  • The Guild Blog

Guild の記事は参考になるものが多いので読んでおくと良いです。

www.the-guild.dev

  • GraphQLを導入する時に考えておいたほうが良いこと

メルカリ shops で GraphQL 利用時に関する記事です。 こちらも一度目を通しておくと良いです。

engineering.mercari.com

サンプル Schema

サンプルとして利用できる Schema です。

Pokemon は簡単なので GraphQL 理解の導入に良いサンプルです。

一方 GitHub はかなり複雑ですが、しっかり作り込まれているので参考になります。

Star Wars もあるようですが、僕は見ていません。

  • Pokemon GraphQL

github.com

  • Pokemon GraphQL Playground

https://graphql-pokemon2.vercel.app/

docs.github.com

サンプルコード

GraphQL Relay のサンプルコードは多くありません。

  • Relay の Examples

github.com

  • Next.js x Relay のサンプル

github.com

その他

blog.logrocket.com

  • Fragment で変数を扱えない

qiita.com

zenn.dev

まとめ

GraphQL / TypeScript / Relay で開発する際に参考になるリンク集をまとめています。

随時更新予定です(きっとやらない)。

他に参考になる記事などありましたら教えていただけると嬉しいです。

広告