REST y GraphQL son dos formas de construir una API. REST es simple y probado; GraphQL deja que los clientes pidan exactamente los datos que necesitan. Ninguno es «mejor» — encajan en situaciones distintas.
La diferencia clave
Con REST, el servidor define endpoints fijos que devuelven cada uno una forma de datos fija. Con GraphQL, hay un endpoint y el cliente describe exactamente lo que quiere. GraphQL evita el over-fetching; REST es más simple de construir, cachear y razonar.
| REST | GraphQL | |
|---|---|---|
| Endpoints | Muchos, fijos | Uno, flexible |
| Forma de datos | Decide el servidor | Decide el cliente |
| Caché | Simple (HTTP) | Más trabajo |
| Curva de aprendizaje | Baja | Más alta |
Cuándo REST es la opción correcta
Para la mayoría de las API — un backend de sitio, una app móvil, una integración de terceros — REST es el estándar pragmático. Se entiende universalmente, es fácil de cachear y hay una herramienta para todo. No añadas la complejidad de GraphQL sin motivo.
Cuándo GraphQL vale la pena
GraphQL brilla cuando muchos clientes distintos necesitan porciones distintas de datos complejos y relacionados — piensa en una app rica que tira de decenas de tipos, donde REST significaría muchas idas y vueltas o respuestas infladas.