Header Ads Widget

Ticker

6/recent/ticker-posts

Más de 10 herramientas y extensiones increíbles para las API GraphQL


 Con el reciente aumento de interés en GraphQL , ha surgido rápidamente un nuevo ecosistema vibrante de software complementario. Las comunidades de código abierto y las nuevas empresas emprendedoras están validando nuevos casos de uso de GraphQL, llenando los vacíos de implementación de GraphQL y permitiendo que más y más desarrolladores adopten prácticas de GraphQL con una reducción de la sobrecarga mediante el uso de algunas herramientas impresionantes .

Esta es una noticia fantástica para el lenguaje de consulta, porque Lee Byron , un diseñador de GraphQL en Facebook, señaló recientemente que para que GraphQL alcance la ubicuidad, el ecosistema necesita desesperadamente herramientas adicionales:

"Donde definitivamente todavía necesitamos enfocarnos es en construir y mejorar las herramientas para usar GraphQL y muchos entornos diferentes"

Ya sea que estas herramientas manejen el análisis de rendimiento de los servicios gráficos, sean servidores GraphQL prediseñados u ofrezcan IDE para explorar esquemas GraphQL, aún queda mucho por hacer para mejorar la experiencia de adopción y usabilidad de GraphQL.

En este artículo, presentaremos una breve selección curada de varios tipos de herramientas que se pueden usar para explorar las relaciones GraphQL, documentar una API GraphQL, optimizar y monitorear una API GraphQL, mapear una API REST a GraphQL y mucho más. Si se ha sometido a una transformación GraphQL, o está planeando una, es posible que desee considerar si extensiones como estas pueden ser una adición útil a la pila de su API.

¿Qué es GraphQL, de nuevo?
En pocas palabras, GraphQL es un lenguaje de consulta desarrollado por Facebook que reduce los viajes de ida y vuelta entre clientes y API al empaquetar solicitudes y respuestas, y puede ayudar a reducir los datos innecesarios de la sobrecarga. Esta publicación se publicará en un libro electrónico que estamos compilando sobre el tema: GraphQL o Bust

Lista de más de 10 herramientas y extensiones para API GraphQL

1: GraphiQL

Un IDE en el navegador para explorar APIs GraphQL
Repo | Manifestación

Como hemos comentado anteriormente , muchas API GraphQL utilizan esta consola de código abierto como un patio de juegos API interactivo. Graph i QL es el popular entorno de desarrollo integrado (IDE) para interactuar con las llamadas a la API GraphQL, lo que permite a los desarrolladores consultar datos y realizar mutaciones.

Este IDE es relativamente fácil de implementar; para los servidores Node.js, express-GraphQL puede generar Graph i QL automáticamente Dado que se basa en React, Graph i QL también se puede inyectar con CSS único para una marca personalizada.

La columna de la izquierda de GraphiQL proporciona un espacio para ingresar consultas con un editor de sintaxis para buscar esquemas relevantes usando autocompletar. Cuando se ejecuta la solicitud, la respuesta se muestra en la columna de la derecha.

Tener ayuda visual en forma de una caja de arena de API , área de juegos, CLI u otros medios interactivos es una faceta importante de respaldar un programa de API vivo y dinámico que satisface las necesidades de su audiencia de desarrolladores.

Relacionado: 10 consolas GraphiQL en acción

2: GraphQL Voyager de APIs.guru

🛰️ Representa cualquier API GraphQL como un gráfico interactivo
Repo | Manifestación

Si espera ver visualmente cuán relacionales son sus datos, ejecutarlos a través de GraphQL Voyager puede ser un experimento genial. Voyager toma una API GraphQL y la convierte en un gráfico visual después de establecer un esquema raíz, puede ver visualmente cómo se conectan los campos a los tipos. Voyager también es interactivo: la selección de un tipo resalta los campos que lo componen y los enlaces a datos relevantes dentro del gráfico.

La API de Star Wars (SWAPI) representada visualmente en GraphQL Voyager

Haciendo eco de Lee Byron, el fundador de APIs.guru, Ivan Goncharov, dijo recientemente a las API nórdicas:

"Escribir herramientas avanzadas que funcionen con cualquier API GraphQL existente es posiblemente una de las cosas críticas que faltan en las API REST".

GraphQL Voyager proporciona una columna de la izquierda que describe la información del campo y una interfaz visual que proporciona una navegación rápida. Los usuarios también pueden simplificar el gráfico eliminando las clases de contenedor de retransmisión. Más allá de ser una visualización agradable, la herramienta Voyager podría ayudar a las empresas a visualizar su modelo de datos y generar conversaciones sobre datos relacionales…. finalmente, podemos ver el "gráfico" detrás de GraphQL.

3: GraphCMS

Cree una API de contenido GraphQL en minutos

GraphCMS es un sistema de gestión de contenido (CMS) centrado en API que está íntimamente vinculado con GraphQL. Le permite crear un GraphQL alojado respaldado para aplicaciones web, proporcionando herramientas para administrar contenido. Los usuarios definen estructuras de datos, las validan en una consola GraphQL y pueden ver la representación en la interfaz de usuario, todo dentro de la misma plataforma.

Si bien GraphCMS quizás no sea una buena opción para una plataforma API existente, se adaptaría bien a un blog, una aplicación web u otras estructuras de contenido que requieran la capacidad de compartir datos mediante programación. Un CMS basado en GraphQL sería una alternativa interesante a los CMS tradicionales como WordPress o Drupal, y permitiría un marco de administración de contenido más futurista que viene equipado con API y, por lo tanto, es una capa de administración más flexible para las interfaces de usuario final.

GraphCMS es un sistema de gestión de contenido impulsado por GraphQL

Lea también: Cómo envolver una API REST en GraphQL

4: GraphQL Docs de Scaphold.io

Limpia, minimalista documentación de las API GraphQL
Repo | Manifestación

¿Necesita documentación estática para un esquema de API GraphQL? No busque más, GraphQL Docs . El sitio generará documentación simple y funcional en menos de 10 segundos dada una URL de punto final GraphQL. Los visitantes pueden optar por catalogar la documentación de su API públicamente o mantenerla privada.

Un equivalente de código abierto para la documentación estática es graphdoc : bifurque esto para generar y alojar documentos GraphQL por su cuenta. Para ambos, el resultado es una interfaz limpia, mnenu de búsqueda y enlaces a definiciones de esquema para objetos, y más.

Definición de esquema GraphQL para el objeto Album en la API de Spotify

 

5: GraphQL Faker

Simula o amplía tu API GraphQL con datos falsos.
Repo

Si está simulando una API básica, ¿por qué no agregar algunos datos de lorem ipsum para probar las cosas? Con GraphQL Faker, los desarrolladores de API GraphQL pueden insertar datos realistas para imitar resultados de la vida real. Está impulsado por faker.js , lo que permite a los desarrolladores simular más de 60 tipos de datos realistas, como dirección, nombre y apellido, imágenes de avatar y más. Todo lo que necesita para iniciarlo es escribir un IDL de GraphQL, y GraphQL faker proporciona algunos ejemplos para comenzar con el editor de IDL. Es tan simple como agregar una directiva a un campo o una definición escalar personalizada:

type Person {
  name: String @fake(type: firstName)
  gender: String @examples(values: ["male", "female"])
}
Consulte: 5 beneficios potenciales de la integración de GraphQL

6: Swagger a GraphQL

Migre de REST a GraphQL en 5 minutos
Repo

Para aquellos proveedores de API afianzados con el modelo REST tradicional, puede ser indiferente probar GraphQL. Este mapeador elimina el dolor, toma un esquema Swagger y lo ajusta automáticamente a GraphQL. Herramientas como esta podrían aprovecharse para disminuir los problemas de migración y permitir que un proveedor mantenga tanto una fachada REST como GraphQL. Para obtener más información, lea los pensamientos del creador sobre cómo mover una API existente de REST a GraphQL .

7: IDE de GraphQL

⚡️ Un amplio IDE para explorar las API de GraphQL ⚡️
Repo

Un entorno de desarrollo integrado, o IDE, es típicamente un editor de código fuente que maximiza la productividad del desarrollador con cosas como depuración, finalización de código, compilación e interpretación. GraphQL IDE es una alternativa a Graph i QL, pero la palabra clave aquí es extensa . Ofrece funciones adicionales de gestión de proyectos, encabezados personalizados y dinámicos, capacidades de importación / exportación y la capacidad de almacenar consultas y ver un historial de consultas.

8: Red GraphQL

Chrome Devtool que proporciona una pestaña de estilo "red" para permitir a los desarrolladores depurar más fácilmente.
Repo | Manifestación

Muchos de nosotros, los técnicos, somos usuarios avanzados de Google Chrome, por lo que una pestaña del navegador GraphQL es un boleto caliente o cualquier desarrollador serio de API GraphQL. Llamada GraphQL Network, esta útil pestaña es similar a ver solicitudes de red en Chrome DevTool , que es excelente para depurar llamadas a la API RESTful, pero se queda corta cuando se trabaja con GraphQL, ya que "/ graphql" generalmente se muestra como el punto final, lo que significa que diferencia solicitudes separadas es una molestia.

La pestaña muestra una lista concisa de solicitudes GraphQL recientes, que enumera el nombre del método HTTP, el estado y el tipo de solicitud. Además, GraphQL Network también ofrece una vista en bruto de la cadena de GraphQL que se envía, así como una vista calculada a medida que el servidor la interpreta. Tener entradas separadas dispuestas, así como poder ver los fragmentos legibles por máquina de esta manera, podría ser útil para monitorear y depurar consultas GraphQL.

9: Graphcool

Plataforma backend flexible que combina GraphQL + AWS Lambda
Site

Con una arquitectura flexible, escalable y sin servidor de moda, tener un backend preformado es una perspectiva interesante, especialmente cuando es compatible con GraphQL listo para usar. Graphcool es una plataforma para ayudar al diseño de esquemas GraphQL y al desarrollo de backend de aplicaciones, que viene con una consola visual para diseñar y editar su esquema de datos, con la capacidad de crear modelos de datos GraphQL avanzados, campos personalizados y relaciones entre datos. Con muchas integraciones con tecnología popular como AWS Lambda, Algolia y Auth0, Graphcool parece ser una herramienta poderosa para la administración de bases de datos modernas.

Captura de pantalla de la consola Graphcool, donde puede agregar nuevos campos y relaciones de datos.

Regístrese para recibir una notificación cuando lancemos nuestro próximo libro electrónico: GraphQL o Bust

10: Óptica de Apolo

Optimizar las consultas GraphQL
Sitio web | Apolo en Github

Para completar nuestra lista de herramientas GraphQL, por último, pero ciertamente no menos importante, está Optics, un producto para monitorear las API GraphQL. Optics es una solución de análisis para las API GraphQL que rastrea cómo se ejecutan las consultas, lo ayuda a ver qué tipos de consultas se están realizando y sus frecuencias. Como hemos comentado antes, las métricas de API son cruciales y cualquier API web puede beneficiarse de agregar una solución de análisis a su plataforma. Ver los volúmenes de solicitudes mostrados visualmente, así como tener una mejor comprensión de los cuellos de botella, como los problemas de latencia, es necesario para optimizar el rendimiento y mejorar los tiempos de carga de la página.

Ejemplo de visualización óptica de tendencias de latencia a lo largo del tiempo

Optics es desarrollado por Apollo , que son grandes contribuyentes al ecosistema GraphQL: su cliente Apollo es un cliente GraphQL flexible y listo para producción para React y aplicaciones nativas, y Apollo también alberga eventos para difundir el conocimiento GraphQL.

Menciones honoríficas:

Pensamientos finales

Otras herramientas importantes incluyen Thunder , un servidor GraphQL para Go, Join Monster , un paquete NPM para arbitrar problemas entre GraphQL y la base de datos SQL, o Dgraph , una base de datos rápida que funciona con GraphQL.

"Las grandes herramientas son las que harán que GraphQL sea ubicuo"
-Lee Byron, GraphQL / Facebook

Hay muchos más que parecen estar surgiendo a diario y, con suerte, con la llegada de herramientas como las mencionadas en este artículo, más proveedores pueden aprovechar los beneficios de GraphQL y aumentar la extensibilidad general con poco esfuerzo.

¿Dejamos de lado alguna herramienta GraphQL increíble? ¡Comenta abajo!

Recursos

Publicar un comentario

0 Comentarios