この本では、Typescript
開発者向けにgraphql-yoga
を用いたGraphQL
のハンズオンをご紹介します。
対象としては以下のような方になります。
- 普段はフロントエンド開発が主
- サーバサイドといえば
REST API
ぐらいしか知らない -
GraphQL
ってなにそれ?
私自身がまさにそうでした。
普段はReact
やReactNative
とTypescript
をゴリゴリ使ってフロントエンドを開発しており、サーバサイドについてはとんと無頓着な状態でした。
この本は、そんな状態からあれこれ調べながら、実際に手元で動くものを作りながら学習した記録を再現する形式を取っています。
私と同じようにGraphQL
がよくわからない状態の方向けに、なるべく平易な表現で記載しているため、多少冗長な箇所もあるかと思いますがご了承いただければと思います。
公開範囲について
ざっくりとどんな内容かを理解してからご購入いただくため、この「はじめに」と次章の「プロジェクト作成」は無料公開となっています。
注意点
内容としては 「モックサーバを立ててGraphQL
の記法の基本部分を学ぶまで」 となります。
従ってDBへの接続は行わず、ローカルで完結する内容となっています。
ハンズオン中心となるため、GraphQL
の概念や歴史的なことはあまり説明しません。
その辺りは既に充実した文献が揃っているので、そちらを参照してください。
ただ、そうはいっても何も分からないままだと理解に支障をきたすので、先にGraphQL
について簡単な解説をします。
ネット上で調べれば出てくる情報ですが、認識確認の意味も兼ねているので一読していただければと思います。
GraphQLとは
GraphQL
はAPI
用のクエリ言語です。
REST API
のライバル的な扱いをされているので混同しがちですが、あちらがREST
という規約に従って実装されたAPI
であるのに対してこちらは言語です。
時たまフレームワークや技術のような文脈で扱われていますが、定義としては言語です。
graphql-yogaについて
- 参考:GitHub
Prisma
というGraphQL
を用いたORM
が提供するライブラリです。
GraphQL
サーバの立ち上げを簡単に行えたり、各種クライアントとの接続がスムーズだったりと色々手厚いサポートがあります。
今回はそこまでディープな内容には触れず、モックとしてサーバを立ててREST
でいうところのCURD
やValidation
機能までを扱うものとします。
環境について
-
VSCode
を使用します -
npm
もしくはyarn
はインストール済みとします