Lesson 24 / 24
GraphQL & gRPC
Two other styles, and when they beat plain REST.
GraphQL: one endpoint, exact fields
GraphQL exposes a single endpoint where the client specifies exactly which fields it wants across related resources in one query — fixing REST's over-fetching (unused fields) and under-fetching (needing several round trips) at the cost of a more complex server and caching story.
gRPC: binary, typed, fast
gRPC calls typed functions over HTTP/2 using compact binary Protocol Buffers instead of JSON text — much faster to (de)serialize, with strict schemas and streaming built in. It's less browser-friendly and less human-readable than REST.
When you'd reach for each
REST: public APIs, simple resources, wide tooling and caching support. GraphQL: rich UIs (mobile/web) pulling nested data from many sources with varying needs per screen. gRPC: service-to-service calls inside your own infrastructure where speed and strict contracts matter more than browser access.
Quick check: A mobile app screen needs a user's profile, their last 3 orders, and their unread notification count in one round trip, with minimal extra data. What fits best?
- Three separate REST calls
- A single GraphQL query naming exactly those fields
- A gRPC streaming call
Answer
A single GraphQL query naming exactly those fields — GraphQL is built for exactly this: one query pulling exactly the needed fields across multiple resources, avoiding both extra round trips and unused data.