
GraphQL: La nueva (y mejorada) forma de construir API’s
En la última conferencia de desarrolladores de GitHub, la empresa hizo un gran anuncio: Su nueva API GraphQL, la cual ha sido publicada para su acceso a través del programa de acceso temprano. En este post, hago un esfuerzo por explicar que es GraphQL y por qué es importante para la comunidad.

Primero, un poco de historia.
GraphQL fue creado en Facebook y liberado como un proyecto Open-Source, de igual manera que React.js. La idea original era permitir que los clientes de los servicios Rest pudieran decidir qué información le interesa en un particular end-point. Quienes han trabajado desarrollando servicios REST, sabrán que muchas veces la cantidad de información que termina devolviendo un end-point particular es enorme, y no todos los casos de uso la consumen en su totalidad.
¿Por qué importa?
¿Por que si los servicios REST de GitHub eran tan alabados en la industria, ahora se mudan a GraphQL?. Por la misma razón que otros gigantes de la industria han comenzado a adoptarlo. Los detalles están en su anuncio, pero el resumen es el siguiente:
- REST requiere varias consultas, GraphQL requiere solo una.
- Con REST, se consulta o mucha o muy poca data. Con GraphQL se consulta exactamente lo que se necesita.
- REST por lo general se convierte en un laberinto de endpoints mal documentados. GraphQL es altamente tipado y auto-documentado.
En las palabras del equipo responsable de la plataforma en GitHub:
GraphQL representa un masivo salto en el desarrollo de API’s. Tipado seguro, introspección, documentación generada y respuestas predecibles, van a beneficiar tanto a los desarrolladores como a los consumidores de nuestra plataforma. Ansiamos una nueva era de plataformas respaldadas por GraphQL y esperamos que ustedes también.
¿Como se ve?
Si se firma el acuerdo de pre-release, tendremos acceso al explorador de API’s. Es básicamente GraphiQL, un IDE para explorar API’s GraphQL.

Después de un par de segundos experimentando, mi primera consulta me devuelve la respuesta — Funciona!. Se puede consultar la documentación del API para saber cuales mutaciones o consultas se pueden hacer. Es básicamente lo esperado: Se pueden buscar usuarios, organizaciones y obtener diversa información de nuestra propia cuenta GitHub.

Y claro, también realice un comentario desde el API!:

¿Cómo Aprender?
Si GraphQL te emociona, como a mi, entonces probablemente estarás preguntándote la mejor manera de implementarlo en tus proyectos. Acá dejo algunos recursos y tutoriales para comenzar.
Tutoriales:
- Why GraphQL is the future
- GraphQL concepts visualized
- GraphQL: the next generation of API design
- Tutorial: how to build your own GraphQL server
Recursos:
Originally published at Snippets y Más.