Definición
GraphQL es un lenguaje de consulta y un estándar para construir APIs, creado por Facebook en 2012 y publicado en 2015, que permite al programa cliente describir con precisión qué datos quiere y recibir exactamente eso en una sola respuesta. En lugar de varias direcciones con respuestas fijas, como en REST, GraphQL ofrece un único punto de acceso y un esquema que describe todos los datos disponibles y sus relaciones. El cliente compone la consulta; el servidor la resuelve.
En la empresa, GraphQL aparece sobre todo en aplicaciones con interfaces complejas que combinan datos de muchas fuentes, como una app móvil que muestra en una pantalla el perfil del cliente, sus pedidos, sus incidencias y sus recomendaciones. Con REST eso podría exigir cinco llamadas; con GraphQL, una. También se usa como capa unificada por encima de varios sistemas heredados, para que los equipos de producto consulten todo con un solo lenguaje sin conocer cada sistema.
GraphQL es una tecnología madura con un ecosistema amplio, y muchas plataformas de comercio electrónico y desarrollo la ofrecen junto a REST. El malentendido habitual es verlo como el sustituto moderno de REST. No lo es: resuelve un problema concreto, la flexibilidad del cliente, a cambio de más complejidad en el servidor, más dificultad para cachear y más cuidado con la seguridad, porque una consulta mal limitada puede pedir demasiado. Para integraciones simples, REST sigue siendo la elección sensata.
En la práctica
Una empresa de comercio electrónico rediseña su app móvil. Con GraphQL, la pantalla de inicio carga en una sola petición el nombre del cliente, sus tres últimos pedidos y las ofertas personalizadas, en lugar de esperar a cuatro llamadas distintas. La app arranca más rápido y consume menos datos.
Por qué importa
GraphQL importa si tu producto tiene interfaces ricas o si quieres unificar el acceso a muchos sistemas internos. Si tu equipo técnico lo propone, pregunta qué problema concreto resuelve; si la respuesta es que es más moderno, no es razón suficiente.
Preguntas frecuentes
- ¿Qué es GraphQL y para qué se usa?
- Es una forma de construir APIs en la que el programa que consulta describe exactamente qué datos quiere y los recibe en una sola respuesta. Se usa en aplicaciones con pantallas que combinan mucha información de distintas fuentes y como capa de acceso unificada sobre varios sistemas internos.
- ¿Cuándo conviene usar GraphQL en lugar de REST?
- Cuando los clientes de la API, como apps móviles o interfaces complejas, necesitan combinar datos relacionados de forma flexible y quieres evitar múltiples llamadas o respuestas con información sobrante. Para integraciones entre sistemas de empresa, webhooks o servicios sencillos, REST suele ser más simple y suficiente.