GraphQL llegó como respuesta al over-fetching de REST y atravesó el hype entre 2016 y 2020. En 2026 la pregunta cambió: ¿dónde le gana a REST hoy, y dónde se volvió peso muerto? Tres casos reales moldean la decisión mejor que cualquier benchmark sintético.

¿Qué entrega GraphQL en realidad?

El cliente moldea la respuesta y elimina el over-fetching en redes restringidas, situación típica de apps móviles. Una query única agrega múltiples recursos en un solo round trip, en lugar de tres llamadas REST encadenadas. El schema tipado sirve como documentación y contrato al mismo tiempo, validado en CI con herramientas como graphql-schema-linter.

¿Cuánto cuesta?

  • N+1 queries sin batching estilo DataLoader; cada campo resuelve en round trip separado contra la base de datos
  • Query depth attacks exigen analizadores de profundidad y límites de complejidad configurados
  • El cache pierde la semántica gratuita del HTTP; las persisted queries devuelven parte del control
  • Cada cliente se acopla al schema, y el equipo preserva ese contrato para siempre

Caso 1: producto mobile-first

Schemas dibujados por pantalla cortaron el payload en 60% frente a un REST hablador de cinco llamadas por view. La batería y el 4G inestable transformaron el ahorro en retención medible. Aquí GraphQL se pagó solo.

Caso 2: panel administrativo interno

Cinco usuarios golpeando CRUD simple. La ceremonia de GraphQL no entregó nada que REST dejara de entregar, y la carga de mantenimiento quedó igual. REST con OpenAPI lo resolvía en un fin de semana.

Caso 3: plataforma de API pública

GitHub y Shopify justifican GraphQL por la diversidad de clientes: miles de integraciones terceras consumiendo formas variadas de datos. Los equipos que exponen un frontend único para un backend único cosechan poco de ese retorno. La diversidad de consumidores es el gatillo, no la moda.

¿Y la federación a escala?

Apollo Federation y las herramientas de The Guild componen graphs entre equipos, con router central y contratos por subgraph. Potente a escala organizacional; maquinaria pesada por debajo de diez ingenieros. El costo de operar el router supera el beneficio en equipos chicos.

¿Qué alternativas le robaron los casos a GraphQL?

  • tRPC da tipos punta a punta en monorepos TypeScript, sin runtime adicional
  • REST con codegen a partir de OpenAPI cubre la mayoría de los CRUDs
  • JSON:API resuelve sparse fieldsets cuando el cliente necesita elegir campos

Regla de decisión

Muchos clientes independientes consumiendo formas variadas de datos justifican GraphQL. Uno o dos frontends first-party casi nunca lo justifican. Decide por el número de consumidores, no por el entusiasmo del roadmap.