Porovnání
REST vs GraphQL vs gRPC
REST pro jednoduché CRUD, GraphQL pro flexibilní frontend, gRPC pro microservices.
REST
- HTTP verbs (GET, POST, PUT, DELETE)
- Resource-based URL design
- Jednoduché, dobře pochopené
- Over-fetching / under-fetching problém
GraphQL
- Single endpoint, klient definuje odpověď
- Žádný over/under-fetching
- Strongly typed schema
- Introspection a tooling
- Komplexnější server-side
gRPC
- Protocol Buffers (binární)
- HTTP/2 streaming
- Code generation (protoc)
- Extrémně rychlý
- Méně vhodný pro prohlížeče
Kdy co
- REST — veřejné API, jednoduché CRUD, většina projektů
- GraphQL — mobilní/web apps s komplexním UI, multiple data sources
- gRPC — microservices komunikace, low latency, streaming
REST je výchozí
REST pro většinu. GraphQL pro data-heavy frontend. gRPC pro inter-service.