Chapter 01無料公開

はじめに

nekoniki
nekoniki
2020.10.29に更新

この本では、Typescript開発者向けにgraphql-yogaを用いたGraphQLのハンズオンをご紹介します。
対象としては以下のような方になります。

  • 普段はフロントエンド開発が主
  • サーバサイドといえばREST APIぐらいしか知らない
  • GraphQLってなにそれ?

私自身がまさにそうでした。
普段はReactReactNativeTypescriptをゴリゴリ使ってフロントエンドを開発しており、サーバサイドについてはとんと無頓着な状態でした。

この本は、そんな状態からあれこれ調べながら、実際に手元で動くものを作りながら学習した記録を再現する形式を取っています。
私と同じようにGraphQLがよくわからない状態の方向けに、なるべく平易な表現で記載しているため、多少冗長な箇所もあるかと思いますがご了承いただければと思います。

公開範囲について

ざっくりとどんな内容かを理解してからご購入いただくため、この「はじめに」と次章の「プロジェクト作成」は無料公開となっています。

注意点

内容としては 「モックサーバを立ててGraphQLの記法の基本部分を学ぶまで」 となります。
従ってDBへの接続は行わず、ローカルで完結する内容となっています。

ハンズオン中心となるため、GraphQLの概念や歴史的なことはあまり説明しません。
その辺りは既に充実した文献が揃っているので、そちらを参照してください。

ただ、そうはいっても何も分からないままだと理解に支障をきたすので、先にGraphQLについて簡単な解説をします。
ネット上で調べれば出てくる情報ですが、認識確認の意味も兼ねているので一読していただければと思います。

GraphQLとは

GraphQLAPI用のクエリ言語です。
REST APIのライバル的な扱いをされているので混同しがちですが、あちらがRESTという規約に従って実装されたAPIであるのに対してこちらは言語です。

時たまフレームワークや技術のような文脈で扱われていますが、定義としては言語です。

graphql-yogaについて

PrismaというGraphQLを用いたORMが提供するライブラリです。
GraphQLサーバの立ち上げを簡単に行えたり、各種クライアントとの接続がスムーズだったりと色々手厚いサポートがあります。
今回はそこまでディープな内容には触れず、モックとしてサーバを立ててRESTでいうところのCURDValidation機能までを扱うものとします。

環境について

  • VSCodeを使用します
  • npmもしくはyarnはインストール済みとします