Header Ads Widget

Ticker

6/recent/ticker-posts

10 consolas GraphQL en acción


La mayoría de los proveedores de API web probablemente ya conozcan GraphQL . Es el lenguaje de modelado de consultas de API que está haciendo olas en toda la industria de API, lo que permite a los usuarios desarrolladores interactuar con una API web en un método posiblemente más limpio. Sin embargo, la industria todavía está dividida. Mientras que algunos se aventuran a decir que reemplazará a REST en su totalidad, otros cuestionan si GraphQL vale la pena.

Fuera de Facebook, los fundadores de GraphQL, en realidad hay bastantes proveedores de API que implementan GraphQL en la práctica. El uso sigue apareciendo en nuevos entornos a través de muchas API públicas, a menudo utilizando  Graph i QL , la consola visual oficial de código abierto  para interactuar con llamadas API. Estas ayudas visuales interactivas  están diseñadas para ayudar a los usuarios desarrolladores a consultar datos y realizar mutaciones.

Entonces, para agregar un poco de validación de la tecnología, echemos un vistazo a algunas empresas que la implementan oficialmente con sus programas API públicos. Enumeraremos 10 API que usan GraphQL y probaremos sus consolas GraphiQL con casos de uso simulados para probar el comportamiento.

Graph i QL: Explorador de API GraphQL

La interfaz GraphiQL

Graph i QL es una consola IDE de código abierto para explorar un servidor GraphQL. Muestra un editor de código con autocompletar en el extremo izquierdo, viene con resaltado de errores, resultados de consultas en la columna central y un explorador de documentación en el extremo derecho. Puede hacer una demostración de la API de Star Wars para probarla. Las  variables de consulta en la parte inferior izquierda muestran lo que realmente se está manipulando en la solicitud. Para un consumidor desarrollador, una interfaz Graph i QL podría ser útil para crear consultas GraphQL, ver los tipos de datos que están disponibles y más.

1: GraphQL Hub

Patio de recreo | Repo

En primer lugar, consideremos la agregación GraphQLHub . Creado por Clay Allsopp , puede usarlo para explorar 5 API populares : Hacker News, Reddit, GitHub, Twitter y Giphy usando GraphQL. Aunque técnicamente es un proxy no oficial, no fabricado por estas empresas, es una demostración única del poder de GraphQL para combinar elementos dispares en el mismo estilo de consulta.

Consulta de mis publicaciones recientes de Hacker News

Digamos que quería datos legibles por máquina de mis últimas 5 publicaciones en Hacker News, con la URL, la puntuación y el identificador único. Usando la interfaz GraphQL Hub, podemos consultar esto fácilmente y leer los resultados en JSON.

Con reminiscencias de una colección de API de Postman, un equipo podría utilizar un "concentrador" de GraphQL para interactuar fácilmente con sus propias dependencias de API únicas.

2: Carpeta de marca

Patio de recreo | Repo

Brandfolder es un servicio de gestión de activos . Con su API, los desarrolladores pueden cargar o recuperar archivos de activos de marca mediante programación, como imágenes o fuentes. Usan GraphQLify para proporcionar un servidor GraphQL y un esquema para actuar como intermediarios entre el backend y el frontend de Brandfolder, traduciendo una API JSON para interactuar con las aplicaciones React / Relay. Para jugar aquí necesitarás una cuenta y una autorización.

Probar la consola GraphQL de Brandfolder requerirá la autorización de la cuenta

3: Buildkite

Pruébelo - Docs

Buildkite se especializa en ayudar a las empresas con implementaciones continuas . Han estado impulsando el desarrollo de front-end a través del  endpoint. Su API GraphQL incluso ha superado la interfaz de usuario web, ya que puede usarla para  programar compilaciones . También construida sobre el GraphiQL oficial de código abierto, su consola GraphQL está acompañada de un completo tutorial paso a paso ; algo bueno a considerar para ayudar a los nuevos desarrolladores. Como dice Tim Lucas de Buildkite:https://graphql.buildkite.com 

"GraphQL se creó para ser amigable para los humanos y permitir a las personas usar, explorar e integrarse fácilmente con las API".

Buildkite demuestra cómo usar GraphiQL para realizar mutaciones en un programa de implementación

4: EHRI

Pruébelo - Docs

La Infraestructura Europea de Investigación del Holocausto (EHRI) proporciona acceso a datos y materiales de archivo relacionados con el holocausto que se encuentran  en instituciones de toda Europa. Además de ofrecer una API de búsqueda  para acceder a la base de datos, el portal EHRI proporciona una API GraphQL experimental. Como describe EHRI, GraphQL es una "opción más rápida y eficiente cuando los datos requeridos se conocen de antemano". Esto se hace eco de los problemas que algunos tienen con GraphQL al que solo pueden acceder los desarrolladores familiarizados con la API.

5: GDOM

Pruébelo - Docs

GDOM es un analizador web de código abierto en GitHub. Usando el marco de Graphene, GDOM usa la sintaxis GraphQL para atravesar y raspar el contenido de las páginas web. Otro ejemplo de Hacker News, aquí usamos la sintaxis GraphQL para recorrer la página de inicio de Y Combinator y devolver las noticias principales:

Graph i QL en el contexto de recorrido DOM y raspado

6: GitHub

Intentalo

Desde el uso de  ChatOps hasta el inicio de otras  innovaciones culturales de la empresa , GitHub adopta rápidamente mejoras operativas de vanguardia. También han probado GraphQL. Actualmente en una etapa alfa de acceso temprano, tendrá que registrarse en el programa de prelanzamiento de GitHub para usarlo (lo que solo significa iniciar sesión a través de su cuenta de GitHub y aceptar los términos de uso). Usemos la API GraphQL de GitHub para recuperar información básica de la cuenta:

Recuperar información de la cuenta con el sandbox de la API de GitHub Graph i QL

¿Cuándo se convertirá en un lanzamiento completo? Bueno, GitHub coloca GraphQL en el lado a largo plazo de su Hoja de ruta de la plataforma .

7: Base de datos de resistencia a los medicamentos contra el VIH

Pruébelo - Docs

GraphQL también puede ser útil en el contexto de la investigación académica . La Universidad de Stanford está utilizando Graph i QL para consultar visualmente su  Sierra Web Service , que interactúa con su base de datos curada de datos de resistencia a los medicamentos contra el VIH. A continuación se muestra una llamada GraphQL para recuperar una secuencia genómica de un virus con una mutación específica:

Análisis de secuencia en la consola GraphiQL de Stanford

8: Datos abiertos de Helsinki

Pruébelo - Docs

HSL es la  autoridad de transporte público  de la región metropolitana de Helsinki, Finlandia. Producen datos sobre rutas, estaciones de tren y más, todos los cuales son de acceso público como datos abiertos en la  comunidad de desarrolladores de HSL . Digamos que queríamos recuperar información básica sobre todas las estaciones de tránsito en el área de Helsinki; podemos usar una sola consulta GraphQL para listar estaciones y campos como el nombre de la estación, ubicación específica y más:

Una consulta GraphQL para recuperar información sobre estaciones de tránsito en el área de Helsinki. ¿No hay opción de "embellecer"? Oh bien.

9: melodíaCLI

Pruébelo - Docs

MelodyCLI es un administrador de dependencias para Go. Ayuda a ahorrar tiempo al almacenar en caché los repositorios de Go, utilizando una API GraphQL para exponer rutinariamente metadatos en dependencias. A continuación, hemos utilizado la interfaz melodyRepo Playground Graph i QL para recuperar información de dependencia en un paquete de GitHub específico:

MelodyCLI GraphQL llamada al campo de juegos para mostrar la funcionalidad de gestión de dependencias

10: SuperChargers.io

Pruébelo -  Repo

Superchargers.io es un mapa de aplicación web que proporciona la ubicación de las tiendas Tesla, las estaciones de energía y otros centros de servicio. Totalmente basado en una API GraphQL, el sitio hace un buen trabajo al incorporar desarrolladores para comprender cómo se comportan las consultas.

La consulta a Superchargers.io recupera todas las estaciones de Supercharger en Europa.

¿El aumento de uso valida GraphQL?

Ahora que se utiliza en la gestión de activos, estudios académicos, transporte público y más, puede ver que GraphQL se está moviendo. Sin embargo, las tendencias por sí solas no deberían validar la adopción de tecnología. Entonces, ¿por qué cada vez más grupos aprecian GraphQL? Bueno, como hemos comentado antes , existen algunos beneficios potenciales:

  • Mayor eficacia en las consultas : puede consultar varias llamadas a la API simultáneamente.
  • Recuperación de datos más elegante : la combinación de llamadas puede devolver una gran cantidad de datos con una sola solicitud.
  • Baja sobrecarga de adopción : dado que GraphQL es un contenedor que se puede definir, no es necesario reemplazar un sistema REST.

A medida que el equipo detrás de melodyCLI lo puso :

"Elegimos GraphQL para brindarnos una mayor flexibilidad en la estructura de los metadatos y, al mismo tiempo, brindar a los clientes más flexibilidad en la forma de realizar consultas".

GraphQL no debe verse como la solución independiente para todos; muchas API aún necesitan documentación para desarrolladores y sólidas estrategias de control de versiones de API . Un punto débil es la falta de material de incorporación en la interfaz Graph i QL; para los desarrolladores que no están familiarizados con las llamadas a la API, saber cómo estructurar una consulta es difícil, ya que tendrá que buscar en la documentación los identificadores, nombres de campo , cadenas , etc. correctos  .

Consejos para hacer que GraphQL / Graph i QL sea impresionante

Con eso en mente, para los proveedores de API que estén considerando proporcionar un IDE de estilo Graph i QL, aquí hay algunos consejos para aprovecharlo al máximo:

  • Presente lo que es GraphQL : la tecnología todavía es nueva para muchos, y les encantaría su ayuda para estructurar sus primeras consultas.
  • Tenga consultas de GraphQL de ejemplo : complete automáticamente el esqueleto de Graph i QL con consultas de muestra para ayudar a los usuarios a comenzar. Las preguntas frecuentes de Superchargers.io , por ejemplo, tienen enlaces a 4 consultas de muestra diferentes que pueblan una consola Graph i QL.
  • Tenga tutoriales complementarios o preguntas frecuentes en el lateral que expliquen su esquema y campos GraphQL.
  • Márcalo : Por último, no está de más incluir tus propias pieles. Incluya la marca en la parte superior del diseño Graph i QL en blanco para personalizarlo.
Un agradecimiento especial a APIs.guru por compilar el conjunto de datos inicial para esta lista. Si encuentra otras instancias públicas de GraphQL, puede contribuir a este repositorio .

Más recursos:

  • Facebook cita aproximadamente 70 empresas que implementan GraphQL aquí
  • "GraphQL: una razón legítima para usarlo", Edge Coders
  • Colección continua  de APIs GraphQL de APIs.guru
  • Para ayudarlo a comenzar, consulte esta lista completa de bibliotecas y herramientas de GraphQL de la comunidad
  • Bruno Pedro de Hitch hq proporciona el argumento contrario:  3 razones para no usar GraphQL
  • Aprenda GraphQL : tutorial paso a paso de introducción a GraphQ

Publicar un comentario

0 Comentarios