compartir enlaces con otras personas. Entonces, Discord podría ser más fácil. Entonces, ¿de qué se trata hoy? Vamos a construir una API de GraphQL sin servidor utilizando StepZen sobre tus fuentes de datos existentes, y probablemente todos tengan diferentes razones para unirse a este taller, y tal vez si tenemos tiempo más adelante, también podamos hablar sobre sus proyectos un poco, probablemente cuando los coloque en sus salas de grupos.
Entonces, ¿para quién es esta charla? Y este taller también. Lo que a menudo veo suceder, y he construido muchas APIs de GraphQL en mi tiempo. Comencé con GraphQL en 2016 cuando se convirtió en una biblioteca pública, y lo primero que siempre veo al construir APIs de GraphQL, es súper fácil comenzar. Si quieres, puedes tener una API de GraphQL en funcionamiento con cosas como Apollo o Prisma o cualquier otra biblioteca de GraphQL que exista, básicamente en un par de horas, puedes conectar tus fuentes de datos existentes, puedes conectar APIs REST o APIs de GraphQL, y es súper fácil construir esa primera API de GraphQL. Pero luego, una vez que comienzas a escalar las cosas, a menudo descubro, y también escucho esto todo el tiempo de diferentes equipos de ingeniería, que es bastante difícil escalar una API de GraphQL si no tienes todo el conocimiento sobre GraphQL, si no sabes cómo funcionan los grafos, si no sabes cómo los datos están relacionados entre sí. Entonces, construir una API de GraphQL probablemente sea fácil, construyes tu esquema, construyes tus primeros cinco resolvers. Pero después de eso, las cosas se complican porque ahí es donde realmente necesitas el conocimiento profundo de GraphQL, donde necesitas el conocimiento sobre bases de datos, necesitas el conocimiento sobre sistemas subyacentes. Y la escalabilidad para las APIs de GraphQL siempre es complicada. Si buscas en internet, hay toneladas de pruebas de rendimiento para bibliotecas existentes de servidores de GraphQL, para averiguar cuál es la más rápida. Y eso depende básicamente del motor de GraphQL de esos sistemas. Qué tan rápido es su motor, qué tan rápido son capaces de analizar el lenguaje de consulta de GraphQL, y qué tan rápido son capaces de recuperarlo de las fuentes de datos subyacentes. Y así, para una pequeña API de GraphQL, es súper fácil. Si crece, se vuelve más grande, la escalabilidad realmente se acerca sigilosamente. Así que en esta charla hablaremos sobre servidores de GraphQL, cómo crearlos y la escalabilidad. Y luego después de esta breve charla de unos 20 minutos, comenzaremos a trabajar, construyendo algo de código. Un poco sobre mí. Mi nombre es Roy, puedes encontrarme en Twitter con el nombre de usuario @githackteam. Si aún no estás en Twitter, es súper útil para compartir información con otros, especialmente en el mundo tecnológico. Al menos para mí, me ha enseñado mucho usar Twitter. Hay mucha basura allí, pero también hay mucha información útil. Así que si aún no tienes Twitter, crea una cuenta y comienza a interactuar con otras personas de tecnología porque es muy útil para ti. Trabajo en una empresa llamada StepZen y StepZen es la herramienta que utilizaré hoy, y con ella puedes crear APIs de GraphQL sobre fuentes de datos existentes. Es posible que también me conozcas por mis libros, mis otras charlas, hace aproximadamente un año publiqué un libro, Full Stack GraphQL. Así que si después de esta charla piensas que StepZen no es la herramienta para ti y quieres construir un servidor completamente, hazlo tú mismo desde cero y escalarlo a muchos usuarios, definitivamente pregúntame sobre el libro más adelante hoy, porque allí verás cómo construir un servidor tú mismo explícitamente desde cero, construir todos los resolvers tú mismo, construir todo el esquema tú mismo, construir middleware, construir contexto, todas estas cosas que pueden ser bastante complejas. Todo está explicado en el libro.
Entonces, si estás en este taller, probablemente también te preguntes ¿por qué estoy en este taller? ¿Qué quiero obtener de esto? Probablemente quieras construir un servidor de GraphQL. Durante este taller, quieres saber cómo puedes tomar conceptos existentes, patrones existentes y aplicarlos a tu propio proyecto o tal vez simplemente te interesa GraphQL, lo cual también está perfectamente bien. Entonces, hay varias razones para construir un servidor de GraphQL. Por lo general, los equipos que comienzan a construir un servidor de GraphQL tienen experiencia con otras APIs como REST, gRPC o SOAP, y quieren tener un servidor de GraphQL para optimizar las solicitudes del cliente. Ese es uno de los casos de uso más comunes que veo para GraphQL, las personas quieren optimizar la solicitud del cliente. Entonces, tienes un cliente, tal vez tienes varios clientes, por supuesto, están enviando solicitudes de red a tu API, a tu base de datos, a cualquier cosa que exponga una API, y quieres optimizar esas solicitudes porque tal vez hay muchas personas usando tus clientes, o tal vez hay muchas personas enviando solicitudes, así que quieres optimizar estas cosas. Entonces, GraphQL es perfectamente adecuado para optimizar las solicitudes del cliente. Otro caso de uso común es microservicios, así que imagina que tal vez tienes 3, 4, 5, 6, tal vez decenas de microservicios. Todos tienen su propia API, puede ser REST, también puede ser GraphQL, y quieres fusionar esas cosas en una capa de datos o una puerta de enlace de API. Y eso es algo en lo que GraphQL es perfectamente bueno. Es algo que StepZen también puede hacer, hay un gran blog en nuestro sitio web sobre cómo puedes hacer esto con StepZen, cómo puedes crear una capa de datos o una puerta de enlace para tus microservicios. Esto también es algo para lo que GraphQL es útil. Y luego, por supuesto, tienes servicios heredados, y esto no es específico de GraphQL en sí, pero es algo que StepZen y otras herramientas hacen muy bien, crear una capa alrededor de tus servicios heredados existentes para que no tengas que preocuparte por romper cosas al cambiar cosas en un servicio heredado, porque en su lugar construirás una API de GraphQL basada en esos servicios heredados para que no tengas que preocuparte por cambiar el código heredado porque no lo necesitas. En su lugar, construyes una API de GraphQL sobre él, que es completamente eficiente y te ayuda a escalar los servicios heredados existentes, y luego uno por uno migrar cosas fuera de allí. Estos son casos de uso. Entonces, ya sea optimizar las solicitudes del cliente, trabajar con microservicios o envolver servicios heredados. Estas son cosas para las que GraphQL es perfectamente bueno. Y si quieres construir una API de GraphQL, hay varias formas de hacerlo, y esto es algo que mencioné brevemente en la introducción. Hay varias formas de crear servidores de GraphQL. Hay toneladas de bibliotecas disponibles. Puedes construirlo desde cero tú mismo, tal vez algo como Prisma o Apollo o Fastify, o puedes usar algo como StepZen para generar uno para ti basado en tus servicios de datos existentes. Y hay razones
Comments