mongolyyのブログ

開発(Javascript, Typescript, React, Next.js)や開発手法(スクラム, アジャイル)、勉強したことについて色々書ければと。

「初めてのGraphQL」を読んだ

はじめに

メーカーのコーポレート部門でソフトウェアエンジニアとして働いているモンゴルです。
業務でGraphQLを触る機会があり、より知識をつけたいと思って本書を読みました。感想を書いていきます。

感想

基礎的な知識が網羅されていそう

クライアント側でしかGraphQLを使ったことがなかったので、サーバーの実装ができたのはよかったです。
スキーマとリゾルバの関係性がわかっていなかったのですが、Apolloサーバーの実装を通してスキーマAPI定義、リゾルバはコントローラー、ユースケースのようなAPI実装だということが理解できました。
スキーマとリゾルバの実装にずれがあったとしても、サーバーが起動するというのは意外でした。

また、GraphQLがグラフ理論と関係があるという基礎的なことから、GraphiQLやGraphQL Playground、swapi、GitHub APIのようなツール等、すぐに活用できる情報もありバランスがいいように感じました。
フラグメントやトリビアルゾルバ、GraphQLのバックエンドとしてREST APIが使えるということも本書を読まなければ知らない知識だったように思います。

サンプルコードはちょっと古いかも

サーバーの実装をしたときに、ライブラリのバージョンを気にせず実装を進めようとすると動かないことがありちょっと困惑しました。
とはいえ、GraphQL自体は枯れた技術ではないので仕方ないかな、と思っています。
これをきっかけに公式のドキュメントを読むきっかけとなったのは良かったことだと思っています。

終わりに

前半は理論的な話、後半は手を動かす系、とバランスが良かったです。
手を動かす系をすることで、キャッシュの仕様に触れる機会もあり一歩踏み込めたのはよかったです。

本書をきっかけに、GraphQLサーバーの実装も業務でやってみたいなーと思うようになりました。