# HOW TO GRAPHQLでGraphQLの勉強をはじめました その②

ボーナスチャプターみたいのもあったのですが、動画も無かったし、英文でお勉強するのはちょっと辛かったので手を動かすチュートリアルをやることにしました。デフォルトで React + Apollo が選択された状態だったので、そのままそれで進めていきます。

Tutorial

# graphql-node Tutorial - Introduction

最終的な成果物はhttps://github.com/howtographql/graphql-jsにあるので参考にしてね、とのこと。

# Overview

GraphQLサーバーをスクラッチで作っていく。それにあたって使う技術は

  • graphql-yoga: 全機能が揃ったGraphQLサーバー。簡単にセットアップ可能で、パフォーマンスが高く、素晴らしいDeveloper Experience。Expressとapollo-serverとgraphql-jsなどの技術を使って構築されている
  • Prisma: トラディショナルなORマッパーを置き換えるもの。Prismaクライアントを使ってGraphQLリゾルバを実装したり、シンプルなデータベースアクセスをすることができる
  • GraphQL Playground: いわゆる"GraphQL IDE"でGraphQL APIでクエリを投げたりミューテーションしたりということがインタラクティブに実行可能。REST APIにおけるPostmanと似ている。それに加えて以下のような機能が付いている
    • … 全てのAPIオペレーションのドキュメントを自動生成してくれる
    • … Query, Mutation, Subscriptionの自動補完機能(!)とシンタックスハイライトが付いたエディタ
    • 簡単にAPI操作をシェアできる

# What to expect

このチュートリアルのゴールはHacker Newsクローンを作ること。まずはGraphQLサーバーの基本を学び、サーバー用のGraphQL schemaを定義してresolver functionを書く。データは全てオンメモリで保持するので何も永続化はされない。データベースレイヤーはPrismaによって提供され、Prismaクライアントによってこれから構築するGraphQLサーバーに接続する。データベースにつながったら色々やていく。signup/loginを実装する段階になったらユーザーのAPI操作の権限周りの確認もする。そして、subscriptionsを用いたリアルタイムな機能に移って、最終的にはフィルタリングやページネーションといった機能も持たせていきます、と。

では、やっていきましょう。

このエントリーをはてなブックマークに追加

Algolia検索からの流入のみConversionボタン表示