Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
Query language + runtime type system + transport-agnostic. Over-fetching/under-fetching do REST. Quando GraphQL vence (cliente mobile + web), quando perde (simple CRUD).
Types, interfaces, unions, enums, inputs. Nullable vs non-null. Connections pattern (Relay). Naming conventions. Schema evolution sem quebrar clients.
Resolver pattern, context, info. Problema N+1 classic. DataLoader batch + cache por request. Quando DataLoader ainda não basta (joins complexos).
Apollo Server 4, plugins, error handling, caching (APQ, response cache). Apollo Client normalized cache, optimistic UI, fragment matching. Alternatives: urql, Relay.
WebSocket-based subscriptions. graphql-ws protocol. Server-sent Events alternative. Pubsub (Redis, GraphQL Yoga). Scaling subscriptions cross-instance.
Monolith schema não escala. Federation 2 (Apollo), schema stitching. Subgraphs, gateway, types shared. Quando federation vs BFF (backend-for-frontend).
Entregáveis: schema bem desenhado, resolvers com DataLoader, auth (JWT + directives), subscriptions (chat), cache Redis, tests (vitest + graphql-tools), deploy. Docs via Apollo Studio.