July 2019
Intermediate to advanced
502 pages
14h
English
If gRPC is the REST killer inside the cluster, then GraphQL is the REST killer at the edge. GraphQL is simply a superior paradigm. It gives the frontend developers a lot of freedom to evolve their designs. It decouples the needs of the frontend from the rigid APIs of the backend and serves as the perfect BFF (backends-for-frontends) pattern. See https://samnewman.io/patterns/architectural/bff/.
Similar to gRPC contracts, the structured schema of a GraphQL service is very enticing for large-scale systems.
In addition, GraphQL solves the dreaded N+1 problems of traditional REST APIs, where you first fetch a list of N resources from a REST endpoint and then you have to make N more calls (one per resource) to get related resources on ...