TL;DR

スキーマを先に書かず、バックエンドのコードから自動生成する開発の進め方。Schema first と対になる。

なぜ必要か

GraphQL では、GraphQL Schema をバックエンドのコードから生成し、フロントエンドはその GraphQL Schema を利用する。バックエンドのコードから GraphQL Schema、GraphQL Schema からフロントエンドのコードと流れるので、コードとスキーマが常に一致する。バックエンドの言語さえ分かれば、GraphQL の知識はそれほど要らない。比較的小規模で、すばやく開発したい場合に向いている。

例

NestJS は Code first での開発に対応している(Resolvers、Interfaces)。Pylon も TypeScript のコードから GraphQL Schema を生成する。

注意点

GraphQL Schema がバックエンドだけの資産になり、特定の言語やフレームワークに依存する。

関連

出典