Header Ads Widget

Ticker

6/recent/ticker-posts

¿GraphQL se está moviendo hacia la ubicuidad?


 En un discurso en la cumbre GraphQL 2016, Lee Byron de GraphQL / Facebook presentó un "plan maestro secreto" que describe sus esperanzas para GraphQL, el creciente estándar de API.

En un mundo ideal, dijo, esperaba que la adopción de GraphQL se viera así:

  • 1-3 meses - Aficionados y proyectos personales
  • 6 meses - Implementado en más de 3 idiomas
  • 9-12 meses: nuevas empresas emergentes y pequeñas empresas
  • 1,5 a 2 años: empresas y productos medianos
  • 2 años: implementado en más de 10 idiomas (en realidad, tomó ~ 3 meses)
  • 2 a 4 años: grandes empresas y gigantes tecnológicos
  • 4-5 años: ¡ubicuidad!

Si asumimos que este plan se escribió cuando GraphQL se convirtió en código abierto en 2015, en lugar de cuando se creó en 2012, es inquietante lo "encaminada" que está la línea de tiempo.

En este momento, estamos en medio de la fase de grandes empresas y gigantes tecnológicos : GitHub, Pinterest, Intuit, Coursera y Shopify usan GraphQL en un entorno u otro. Esto significa que quedan dos o tres años hasta que sus creadores esperan que GraphQL sea omnipresente.

En esta publicación veremos qué tan realista podría resultar esa "predicción". Usaremos el término de manera vaga, ya que está claro que Byron nunca tuvo la intención de que esto fuera una hoja de ruta oficial del producto.

GraphQL 101

Antes de que sea posible determinar si algo es o no "la próxima gran cosa", debe saber exactamente qué es. Si estás leyendo este blog, es muy probable que ya lo sepas, pero vamos a ser precavidos. GraphQL es un estándar API, un lenguaje de consulta que fue de código abierto en 2015 después de haber sido usado solo para uso interno en Facebook antes de eso.

Debido a su relativa novedad, todavía existen muchos conceptos erróneos sobre GraphQL. Uno de los más importantes, destacado por el desarrollador de Graphcool Nikolas Burk en nuestra Platform Summit, es lo que hace en su nivel más básico: “No tiene nada que ver con bases de datos; es una tecnología API, no una tecnología de base de datos ".

También describió algunas ventajas que tienen las API GraphQL sobre sus equivalentes REST :

API REST …

  • Puntos finales que devuelven estructuras de datos fijas
  • Se GETrequieren múltiples solicitudes
  • Extrayendo más información de la necesaria

… Frente a GraphQL

  • Punto final único
  • Devuelve estructuras de datos flexibles
  • La consulta describe con precisión los requisitos de datos

Es fácil ver casos en los que esto podría ser útil, por ejemplo, evitando la presión innecesaria sobre los planes de datos del usuario debido a un exceso de datos.

Sin embargo, es importante señalar que REST y GraphQL no están exactamente en competencia directa. Phil Sturgeon de Smashing Magazine sostiene que GraphQL ni siquiera puede considerarse un verdadero reemplazo de REST porque puede usar ambos al mismo tiempo y uno es un lenguaje de consulta, especificaciones y colección de herramientas, mientras que el otro es un concepto arquitectónico.

De hecho, incluso el debate SOAP vs REST parece haberse aliviado en los últimos años con más énfasis en la selección de formatos basados ​​en casos de uso individuales. Sin duda, eso debería proporcionar algo de consuelo a los desarrolladores que han invertido mucho tiempo y esfuerzo en REST, que si bien reemplazó a SOAP, es posible que nunca lo haya matado de la manera que tanta gente predijo.

Para obtener más información, lea: ¿GraphQL es el final de las API de estilo REST?

Adopción de GraphQL

En este momento, tratar de encontrar estadísticas sobre la adopción de GraphQL es un desafío. Ciertamente conocemos los nombres de las empresas tecnológicas más grandes que utilizan el servicio, pero no hay mucho sobre el número exacto de API creadas alrededor de GraphQL.

Por ejemplo, vayamos a ProgrammableWeb. Si bien puede identificar las API como GraphQL cuando las enumera en el directorio API de ProgrammableWeb, actualmente no hay una categoría GraphQL como la que existe con REST . El sitio web principal de GraphQL enumera 114 organizaciones, de diferentes tamaños, que lo usan en su pila, pero esto se limita a aquellas que han agregado una solicitud de extracción al sitio manualmente. GitHub también alberga varios recursos GraphQL, como la lista de APIs-guru de más de 30 API GraphQL y el centro GraphQL de chentsulin que incluye información sobre todo, desde reuniones GraphQL hasta bibliotecas y tutoriales. Una vez más, sin embargo, muy pocos números concretos.

Drupal proporciona algunas estadísticas de uso para GraphQL pero, nuevamente, esto se limita a los sitios web de Drupal con el módulo Update Status. En el momento de redactar este artículo, ese número (es decir, de sitios Drupal que utilizan GraphQL) es de 212, con un crecimiento particularmente rápido en los últimos meses de 2017. En otros lugares, sin embargo, es muy probable que ya haya miles de empresas que utilizan GraphQL hasta cierto punto. - haciendo miles de millones de llamadas API al día - en su pila.

Gran parte de este crecimiento se debe al aumento de los servicios de herramientas GraphQL . Soluciones como Apollo y Graphcool proporcionan una API GraphQL universal sobre backends y marcos existentes para desarrollar e implementar backends GraphQL sin servidor, respectivamente. Es cierto que todavía hay una curva de aprendizaje asociada con el uso de GraphQL, pero herramientas como esta facilitan mucho la implementación, incluso si actualmente está usando REST o SOAP.

Relacionado Cómo envolver una API REST en GraphQL

¿Qué sigue para GraphQL?

Tradicionalmente en tecnología, "la próxima gran novedad" se define por lo que utilizan las empresas emergentes . Slack , por ejemplo, surgió en un momento en que casi todas las nuevas empresas y pequeñas empresas parecían ansiosas por alejarse del aluvión diario de correos electrónicos mientras seguían controlando lo que sucedía internamente. Con su modelo freemium , Slack despegó casi de inmediato.

Las cosas son un poco diferentes en el espacio de las API, en el sentido de que las empresas más pequeñas a menudo se ven influenciadas por lo que hacen los "grandes" en tecnología ... sobre todo porque es posible que necesiten comprenderlo para conectarse a esas API. Como resultado, la adopción continua de GraphQL por parte de las grandes empresas es un paso hacia la ubicuidad.

Microsoft, por ejemplo, tiene una demostración de GraphQL para su API Graph . Cómo funciona es que toma una descripción de la API de OData, la analiza, crea un esquema GraphQL y genera los resolutores necesarios.

"Cualitativamente, hemos visto que la versión GraphQL de nuestra API realmente ayuda a las personas a comprender qué recursos están disponibles y cómo se ve la estructura". -
Dmitry Pimenov , administrador de programas, Microsoft Graph

Si bien puede haber cuellos de botella en el rendimiento al empaquetar una API REST existente, GraphQL ofrece una experiencia de desarrollador sin igual para la empresa. Está claro que los propios Facebook tienen la mira puesta en la adopción empresarial de GraphQL, dado que tienen un kit de inicio diseñado específicamente para grandes organizaciones que va tan lejos como para ofrecer presentaciones internas y sesiones de preguntas y respuestas de expertos de GraphQL.

Descargue un libro electrónico GRATUITO todo en GraphQL: GraphQL o Bust

Más allá del plan maestro secreto

Desde hogares inteligentes hasta el uso de servicios como IFTTT y Zapier para cultivar una marca personal, el público en general se está interesando cada vez más en las API que nunca. Combine esto con la expectativa de un crecimiento continuo de GraphQL y es posible que tengamos una tormenta perfecta que podría hacer que GraphQL sea ampliamente adoptado.

Eso ni siquiera empieza a hablar de la considerable influencia de sus creadores, “2 mil millones de usuarios y contando” Facebook. Con la flexibilidad y el enfoque en el cliente que ofrece GraphQL, no es imposible imaginarlo como el primer lenguaje API que aprenden los novatos en la escena del desarrollo.

Anteriormente, algunos habían expresado su preocupación por los intentos de Facebook de patentar GraphQL, aunque muchos de estos temores se han disipado desde entonces con la renovación de la licencia. Eso representa otra área en la que GraphQL lo está haciendo bien: Byron y su equipo parecen, y concedido que aún es temprano, para ser extremadamente receptivos a los comentarios de la comunidad.

Nuestra cobertura sobre cuestiones legales de GraphQL: lo que significa la publicación de patente de GraphQL para la industria de las API

Pensamientos finales

Para decirlo en términos simples, no es difícil imaginar que el plan de 4 a 5 años que mencionamos en la introducción se desarrolle como Byron esperaba.

Si bien la arquitectura, el lenguaje, etc.que construya su API siempre dependerá de lo que necesite que haga, GraphQL ofrece todo tipo de ventajas: excelentes herramientas, mucha flexibilidad y menos tiempo dedicado a escribir documentación de API, por nombrar algunas, que son difícil de ignorar.

En las API, como en toda la tecnología, estas cosas rara vez son tan simples como "X está adentro, Y está afuera". Pero una cosa es segura: GraphQL parece tener lo que se necesita para seguir haciendo olas: ya tiene una cumbre anual , además de que tiene una gran influencia gracias a su asociación con Facebook y a los primeros usuarios de "nombre familiar" como Twitter, GitHub y Shopify.

Si bien GraphQL puede no sonar como la sentencia de muerte para REST, contiene el conjunto correcto de ingredientes para estar disponible durante un buen tiempo.

Publicar un comentario

0 Comentarios