GraphQL is a query language and runtime for APIs, originally built at Facebook in 2012 and open-sourced in 2015. The pitch was straightforward: instead of REST endpoints that either over-fetch (return more than the client needs) or under-fetch (require multiple round-trips), let the client specify exactly the shape of data it wants in a single request.
Modern GraphQL has matured beyond the original "REST replacement" framing. Apollo Client / Server, Relay, urql, and React Server Components patterns each take different positions on caching, pagination, and how aggressively to push GraphQL into the rendering layer. On the server side: schema-first vs code-first, federation for microservices, persisted queries for security and performance.
What you'll work with in these 26 courses
- Schema design: types, interfaces, unions, custom scalars, directives
- Resolvers: data loaders, batching, n+1 mitigation
- Federation: Apollo Federation v2, schema composition across services
- Client patterns: Apollo Client, Relay, urql, TanStack Query GraphQL adapters
- Subscriptions: real-time data over WebSockets / Server-Sent Events
- Security: query complexity limits, depth limits, persisted queries