Aprendiendo GraphQL: de curioso a confiado

Rate this content
Bookmark

GraphQL es un lenguaje de consulta para APIs que proporciona una descripción completa y comprensible de los datos en su API, al tiempo que brinda a los clientes el poder de solicitar exactamente lo que necesitan y nada más. Si bien hay varios beneficios de GraphQL, también existen diversos desafíos para adoptar APIs de GraphQL dentro de las organizaciones. Entonces, ¿GraphQL es adecuado para ti? Si es así, ¿por dónde debes empezar?

En este masterclass, te guiaremos a través de los diversos conceptos de GraphQL de manera práctica con el objetivo de ayudar a la audiencia a comprender GraphQL como una tecnología y evaluar si es la elección correcta para su proyecto/organización.

Tabla de contenidos:
- ¿Qué es GraphQL? - Una visión general de la tecnología y por qué existe
- El debate REST v/s GraphQL
- El ecosistema de GraphQL - herramientas y recursos
- Configuración del proyecto (React + Express + Tyk)
- Conceptos básicos de GraphQL: práctica
- Gestión de la API de GraphQL con Tyk
- Unión de esquemas con Tyk Universal Data Graph
- Conclusión

FAQ

GraphQL es un lenguaje de consulta para APIs creado por Facebook en 2012 y lanzado públicamente en 2015. Permite a los desarrolladores solicitar exactamente lo que necesitan, haciendo las APIs más flexibles y eficientes.

GraphQL ofrece una mayor flexibilidad en las consultas y evita la sobreexposición y subexposición de datos, a diferencia de REST que se enfoca en recursos específicos y puede ser menos flexible en la distribución de productos omnicanal.

GraphQL permite a los desarrolladores solicitar datos específicos que necesitan, lo que reduce el volumen de datos transferidos y optimiza las interacciones con el backend, ofreciendo respuestas más predictivas y eficientes.

Tyke es una plataforma nativa de la nube para la gestión de APIs y servicios que ofrece una puerta de enlace de API de baja latencia y un panel de control para interactuar con diversas APIs, incluyendo GraphQL, REST y gRPC.

Para asegurar un punto final de GraphQL con Tyke, se pueden agregar características de seguridad como autenticación, autorización, limitación de tasa, y restricciones de profundidad de consulta y permisos basados en campos.

El gráfico de datos universal de Tyke es una herramienta que permite construir puntos finales de GraphQL de manera sin código, combinando APIs REST existentes para crear un nuevo punto final de GraphQL eficiente y rápido.

Buddha Bhattacharya
Buddha Bhattacharya
135 min
06 Dec, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Bienvenido al masterclass sobre la construcción y gestión de APIs de GraphQL. Hoy aprenderemos sobre GraphQL, construiremos APIs con Express GraphQL, aseguraremos los puntos finales de GraphQL con Tyke y crearemos un punto final de GraphQL utilizando el gráfico de datos universal de Tyke. GraphQL proporciona flexibilidad y elimina la sobreexposición y la subexposición de datos. Exploraremos la consulta de información y las mutaciones, así como el concepto de resolvers. También aprenderemos sobre la gestión de la API de GraphQL con Tyke y los beneficios de usar Tycloud. Además, veremos cómo migrar de la infraestructura existente a GraphQL utilizando el gráfico de datos universal de Tyke.

1. Introducción a GraphQL

Short description:

Bienvenido al masterclass sobre la construcción y gestión de APIs de GraphQL. Hoy aprenderemos sobre GraphQL, construiremos APIs con Express GraphQL, aseguraremos los puntos finales de GraphQL con Tyke y crearemos un punto final de GraphQL utilizando el gráfico de datos universal de Tyke. GraphQL proporciona flexibilidad y elimina la sobreexposición y la subexposición de datos. Exploraremos la consulta de información y las mutaciones, así como el concepto de resolvers. También aprenderemos sobre la gestión de APIs de GraphQL con Tyke y los beneficios de usar Tycloud. Además, veremos cómo migrar de la infraestructura existente a GraphQL utilizando el gráfico de datos universal de Tyke.

Bienvenidos, una vez más. Muchas gracias por unirse a mí esta mañana, tarde o noche, dependiendo de la parte del mundo desde la que nos estén acompañando. Y como dice Agatha, hoy tenemos una audiencia bastante internacional. Así que una vez más, muchas gracias por unirse a mí.

Hoy vamos a aprender todo sobre la construcción y gestión de APIs de GraphQL. Básicamente, este masterclass se trata de aprender GraphQL y pasar de la curiosidad a la confianza en las próximas dos horas y media. ¿Y qué implica eso realmente? Durante este período de tiempo, vamos a construir algunas APIs. Las vamos a gestionar utilizando Tyke. Entraremos en los detalles a medida que avancemos.

Antes de eso, un poco sobre mí. Soy Budha, soy un Evangelista de Productos aquí en Tyke, y hoy les hablo desde Boston, EE. UU. Eso soy yo, trabajo para Tyke. Somos una plataforma nativa de la nube para la gestión de APIs y servicios. Un poco más sobre nosotros en unas diapositivas. Antes de eso, hablemos sobre lo que vamos a hacer hoy. Ya hemos terminado las presentaciones. Vamos a ver cómo construir un punto final de GraphQL con Express GraphQL. Trabajaremos para crear un punto final de GraphQL muy simple y ejecutarlo en una máquina local. Vamos a asegurar nuestro nuevo punto final de GraphQL con Tyke. Agregaremos algunas características de seguridad. Les explicaré algunas de ellas. Básicamente, vamos a ver todo el ciclo de vida de gestión de su punto final de GraphQL que estamos creando hoy. Finalmente, vamos a hacer algo realmente emocionante. Vamos a ver cómo construir un punto final similar con el gráfico de datos universal de Tyke. Esta es la versión sin código de lo que vamos a hacer utilizando Express GraphQL. Eso es lo que tenemos en la agenda para hoy. Sin más preámbulos, déjenme contarles un poco sobre la empresa con la que trabajo. Somos una solución nativa de la nube, una plataforma de gestión de APIs y servicios nativa de la nube. Básicamente, estamos impulsados por nuestra puerta de enlace de API de código abierto de baja latencia, que es esencialmente el cerebro detrás de las operaciones. Junto con nuestro hermoso panel de control de Tyke, que es básicamente una interfaz de usuario para interactuar con todas las diferentes capacidades de nuestra puerta de enlace de Tyke. Luego tenemos nuestro portal para desarrolladores que le permite exponer y publicar las diferentes APIs que tendría para su consumo por parte de desarrolladores de terceros y socios. Nuestra puerta de enlace de API es capaz de manejar APIs REST, GraphQL y gRPC. Hoy, obviamente, vamos a ver un subconjunto de eso, vamos a ver GraphQL y lo admitimos de muchas formas diferentes, algunas de las cuales verán hoy, específicamente, en torno a la seguridad donde hablamos no solo a nivel de punto final sobre autenticación y autorización, también vamos a ver cómo limitar la tasa de nuestras APIs, vamos a ver cómo limitar la profundidad de las consultas y los permisos basados en campos, muy específico para la capa de datos de GraphQL. Y finalmente, vamos a ver el gráfico de datos universal, donde vamos a combinar puntos finales REST, un par de puntos finales REST que ya existen y crear un punto final de GraphQL de manera sin código de una manera muy simple y rápida. Eso es quienes somos, eso es lo que es TAIK, ahora vamos directamente a la introducción a GraphQL.

Ahora, algunos de ustedes pueden saber esto, este taller en particular es realmente para personas que son un poco nuevas en el mundo de GraphQL, que no han construido muchas APIs de GraphQL, tal vez han experimentado un poco pero no mucho más que eso, pero han estado curiosos acerca de GraphQL por un tiempo, así que espero que hoy podamos satisfacer esa curiosidad y espero construir un poco más de confianza con algo de contexto, con una base de conocimientos, con algunas sesiones prácticas a medida que avanzamos, y eso les permitirá construir sus propios puntos finales de GraphQL y escribir sus propias consultas y resolvers a medida que avanzamos.

Así que solo para presentar rápidamente GraphQL, esta es la definición de GraphQL como se menciona en el sitio web de GraphQL. Es un lenguaje de consulta para sus APIs. Ahora, ¿qué implicaría eso? Estamos hablando de GraphQL, que fue creado por Facebook. Fue desarrollado internamente en 2012 en Facebook, y luego se lanzó públicamente en 2015. Fue creado para productos omnicanal. Básicamente, ese fue el caso de uso que Facebook utilizó para introducir, construir o crear GraphQL. Estaban introduciendo, esencialmente, se estaban sumergiendo en el mundo de los productos omnicanal, y la eficiencia de construirlos utilizando puntos finales REST resultaba ser bastante desafiante en los primeros días de Facebook. Y por lo tanto, crearon GraphQL, que es esencialmente una forma flexible que satisface las necesidades de múltiples plataformas con necesidades variables en lugar de crear múltiples APIs que estén realmente, realmente enfocadas y adaptadas a solo una cosa en particular. El desafío allí, obviamente, es que, a medida que sus canales de distribución se expanden esencialmente, si necesita construir sus puntos finales REST específicamente para cada una de esas diferentes plataformas, entonces eso podría acumularse muy, muy rápidamente y se vuelve mucho más difícil de gestionar, especialmente cuando está trabajando realmente en una base de datos común de la que esencialmente está trabajando o fuente de datos. Y finalmente, te da exactamente lo que necesitas. No hay concepto de sobreexposición. No hay subexposición de datos. Es muy, muy específico. Consultas lo que necesitas y obtienes en una estructura muy, muy predecible lo que tú o tu plataforma esencialmente necesitan consumir. Entonces, nuevamente, este es uno de los grandes puntos de venta, como decimos en el mundo de GraphQL.

Ahora, pasando a otro tema, esta es nuevamente, una conversación muy, muy típica. Cada vez que hablamos de GraphQL, siempre hay una pregunta sobre REST versus GraphQL, o cuál es mejor, cuál es peor. Creo que, simplemente, creo, tengo que decir que creo en este caso. Estoy del lado de aquellos que creen que ambos tienen su lugar en este mundo. Cada uno de ellos tiene sus propios beneficios. Cada uno de ellos tiene sus propias desventajas. Estas son herramientas, y las herramientas suelen ser importantes solo en el contexto de los problemas que resuelven. Ahora, si tomamos REST, REST se enfoca mucho en los recursos y en cómo crear una solicitud. Obtienes una respuesta. Hay un punto final con el que trabajas, un poco más fácil de asegurar, un poco más fácil de gestionar. Hay mecanismos de caché que pueden ser útiles. Hay códigos de estado dedicados a los puntos finales REST. Entonces, en ese sentido, REST puede ser bastante fácil para comenzar, pero también tiene sus propias desventajas donde hay una falta de flexibilidad que podría surgir en REST, especialmente cuando se adapta a un mecanismo de distribución de productos omnicanal. Entonces, por lo tanto, puedes volverte un poco más propenso a la sobreexposición de información o a la subexposición de información, nuevamente, dependiendo solo, si estás solicitando exactamente lo que necesitas, entonces está bien. Con el caso de uso con el que se construyó originalmente el punto final REST, si solo te estás adaptando y adaptando a eso, eso está perfectamente bien, pero tan pronto como las cosas comienzan a desviarse, las cosas pueden volverse un poco desafiantes a medida que avanzas. Entonces, GraphQL nuevamente, entra a resolver ese desafío en particular donde tienes este nivel de flexibilidad donde la aplicación consumidora de los desarrolladores de front-end esencialmente tiene ese poder para solicitar exactamente lo que necesitas o hacer exactamente lo que quieres, dependiendo del tipo de plataformas de front-end, del tipo de aplicaciones consumidoras que estás viendo. Un ejemplo similar de esto es esencialmente si miras, bueno, en este momento estoy mirando el clima. Entonces, si miras una aplicación del clima, por ejemplo, el requisito de una aplicación del clima, el requisito de datos de una aplicación del clima en un escritorio versus un dispositivo móvil versus un dispositivo portátil puede ser muy, muy diferente.

2. Introducción a los Esquemas y Tipos de GraphQL

Short description:

GraphQL proporciona flexibilidad y elimina la sobreexposición y la subexposición de datos. Permite una base común o un esquema que puede ser consumido según la plataforma que realiza la solicitud. Sin embargo, esta flexibilidad también trae desafíos en cuanto a la estructura y profundidad de las consultas, así como en la seguridad. GraphQL no se adhiere a las reglas estándar de REST y permite objetos de error personalizados. La elección entre GraphQL y REST depende del caso de uso específico y las prioridades. El esquema de GraphQL define el diseño de la API, incluyendo tipos, consultas y mutaciones. Las consultas se utilizan para solicitar información, mientras que las mutaciones se utilizan para manipular datos en la fuente de datos. Las suscripciones, que escuchan cambios, son otro tipo en GraphQL. Los tipos y campos son los bloques de construcción esenciales de un esquema de GraphQL, con escalares que representan tipos básicos.

Y lo que quieres evitar es esencialmente tener un único punto final REST que se llame en todas estas plataformas y la mitad de la información que va a los dispositivos portátiles se subutilice porque no necesitas toda la información. Ahí es donde GraphQL brilla, donde puedes tener una base común o un esquema como lo llamamos en GraphQL, del cual hablaremos en un momento.

Creas el esquema esencialmente con todos los diferentes campos que deseas exponer, todos los diferentes puntos de datos que deseas exponer. Y luego eso puede ser consumido específicamente según el tipo de plataforma que está realizando la solicitud. Por lo tanto, eso permite mucha flexibilidad, pero esa flexibilidad también trae consigo un pequeño desafío porque con esa flexibilidad, esencialmente, la responsabilidad recae en la aplicación consumidora para usarla de la manera que desees, lo que significa que la estructura de las consultas, la profundidad de esas consultas y el orden de esa consulta será ligeramente impredecible. Es mucho más impredecible en ese sentido.

Por supuesto, ahora es predecible en términos de la forma en que solicitarías información y recibirías información, pero tú, como desarrollador del recurso backend, es posible que no tengas un control total en términos de cómo la aplicación frontend está solicitando esa información, puede estar solicitando de muchas formas diferentes. Por lo tanto, debes tener cuidado específicamente en cuanto a la seguridad en este caso, donde necesitas tener el poder de exponer los diferentes campos que deseas exponer según el tipo de usuarios que utilizarán esa aplicación. Y para llevar el punto aún más lejos, también estás viendo cosas como múltiples profundidades o múltiples capas de profundidad cuando se trata de realizar esas consultas. Puedes profundizar, no hay un límite bien definido en cuanto a qué tan profundo puedes ir con estas consultas. Puedes tener consultas anidadas dentro de GraphQL y eso nuevamente puede causar problemas en la gestión de la carga del servidor y a veces esto puede ser necesario, pero a veces también puede ser malicioso. Hay un par de desafíos porque ya no solo estás trabajando a nivel del punto final de la API. No solo estás trabajando en ese nivel HTTP que es esencialmente lo que hace REST, donde obviamente necesitas tener una autenticación y autorización allí, sino que también debes pensar en lo que está sucediendo en la capa de datos también, donde provienen todas tus consultas y solicitudes. Entonces, hay un par de desafíos diferentes allí.

Nuevamente, no se adhiere a las reglas estándar de tus códigos de estado y errores. Típicamente, puedes tener errores incluso con un código de estado 200, lo cual nuevamente, es algo que puede ser un poco desafiante de resolver. Pero nuevamente, porque es flexible, puedes escribir tus propios objetos de error personalizados y puedes proporcionar mucha más información según sea necesario. Hay aspectos positivos y negativos. Entonces, creo que el mantra aquí es hacer la pregunta que realmente necesitas hacer, la pregunta que realmente necesitas hacer aquí es, ¿cuál es mi caso de uso? ¿Y cuáles son mis prioridades? Cada una de estas herramientas, cada uno de estos estilos de API, tiene sus propios aspectos positivos. Cada uno de estos estilos de API tiene sus propios desafíos. Entonces, ¿cuáles de estos desafíos son inaceptables para ti? ¿En qué caso de uso te estás enfocando realmente, realmente? Y dependiendo de eso, puedes tomar una decisión. Entonces, cualquiera de estos podría funcionar para ti según tu caso de uso. No se trata de que GraphQL venga a reemplazar a REST. Esencialmente, cada uno de ellos tiene diferentes problemas que pueden resolver muy bien. Y debes preguntarte qué problema o qué desafío es el que te importa y, por lo tanto, elegir una solución en consecuencia. Esa es un poco la esencia de GraphQL. Una breve introducción al mundo de GraphQL.

También quiero presentar un par de conceptos realmente, realmente simples de GraphQL, que esencialmente te ayudarán a comprender mejor a medida que comencemos a construir nuestra solución. Lo que he hecho aquí es tomar este esquema. Este es esencialmente el esquema que vamos a construir en función de la aplicación Express GraphQL que vamos a construir en la próxima hora. Entonces, comencemos definiendo qué es un esquema. Un esquema es esencialmente en GraphQL, un esquema es esencialmente el diseño de tu API. Define todos los diferentes tipos, todas las diferentes cosas que puedes hacer, las diferentes acciones que puedes realizar, los diferentes datos que puedes solicitar. Entonces, eso es esencialmente el diseño de toda tu API de GraphQL. Ahora, más allá de eso, si ves aquí en la parte superior, ves algo llamado tipo mutación, ves algo llamado tipo consulta. Ahora, si volvemos a los objetivos de las API, si miramos las aplicaciones CRUD, el C-R-U-D, que es esencialmente crear, leer, actualizar y eliminar. Estas son las tareas básicas que generalmente deseas realizar con tus API. Tal vez una de ellas, tal vez todas ellas, según lo que desees lograr. Entonces, en REST, tendrías algo como solicitudes GET para solicitar información, leer información, tu R dentro del CRUD, crear, probablemente hacer una solicitud POST, las actualizaciones podrían ser parches, tal vez incluso puts y delete, podría ser simplemente delete. Entonces, de manera similar, esencialmente tenemos nuestros dos tipos diferentes aquí, que es esencialmente consultar y mutaciones. Las consultas, por lo general, están destinadas a solicitar información, como sugiere el nombre. Ahora, con las consultas, esencialmente esta es la estructura que verás, defines el tipo de acciones que puedes realizar o el tipo de información que puedes solicitar, y las consultas te ayudarán a lograrlo. Ahora, este es, con mucho, el aspecto más utilizado de GraphQL. En su mayoría, esta es la solicitud que se realiza. Pero más allá de eso, tenemos lo que se llama mutaciones. Como sugiere el nombre, las mutaciones esencialmente son la manipulación o el cambio o la modificación de datos en tu fuente de datos. Eso incluiría agregar nueva información, agregar nuevos datos a tu fuente de datos, eso incluiría actualizar datos en tu fuente de datos, o podría tratarse de eliminar información de tu fuente de datos. En el ejemplo de hoy, en realidad veremos cómo puedes agregar un usuario. Pero tal vez como ejercicio, cuando regreses y lo intentes tú mismo, tal vez también puedas explorar cómo puedes actualizar y eliminar información también, como cuando intentes practicar estas cosas tú mismo. Pero, esos son los dos grandes. Si estás comenzando con un esquema, aquí es esencialmente donde comenzarías, este es el objetivo de construir tu esquema. Estás tratando de permitir que las personas consulten tu información, consulten tus fuentes de datos, o estás tratando de permitir que las personas realmente realicen cambios o modifiquen esas fuentes de datos. Consultas y mutaciones. Hay un tercer tipo aquí, que es la suscripción, que es esencialmente un oyente. Puedes escuchar cambios en tu fuente de datos, pero para el propósito de la conversación de hoy, voy a omitir la suscripción, pero siéntete libre de leer también sobre eso. Habrá una nueva actualización emocionante de la que hablaré quizás en un mes, así que mantente atento a eso. Pero las suscripciones, nuevamente, a diferencia de lo que tendrías con tus operaciones básicas de REST, la suscripción viene prácticamente construida, integrada en GraphQL, y es un mecanismo para escuchar eventos específicos o cambios, por ejemplo, en la información del usuario, tal vez cambios si se agrega una nueva lista de tareas pendientes, entonces tal vez quieras ser notificado en función de eso. Eso es lo que hacen las suscripciones. Pero nos centraremos en consultas y mutaciones para el propósito de la demostración de hoy.

Ahora, más allá de eso, si lo miras, los bloques de construcción esenciales, ¿cómo se dice? Los bloques de construcción esenciales de tu esquema de GraphQL son, o son, tus tipos, tus tipos y tus campos. Ahora, si ves un ejemplo aquí, tienes tu tipo tarea, tienes tu tipo usuario, y dentro de estos tipos, esencialmente son objetos. Estos son objetos que definen los diferentes tipos de datos, los diferentes campos que se unen para proporcionar la información que necesitas. Por lo general, tienen una correlación con tu fuente de datos detrás de escena, como verás en muy poco tiempo, pero también están definidos por, estos campos tienen tipos asociados. Entonces, esto es lo que llamarías escalares. Los escalares están esencialmente construidos en GraphQL, nuevamente. Entonces tienes algunos tipos básicos que ya son proporcionados por GraphQL. Tienes tu entero, tienes tus cadenas, también tienes un booleano. Y luego, más adelante, también puedes tener listas.

Watch more workshops on topic

Construir con SvelteKit y GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Construir con SvelteKit y GraphQL
Top Content
Featured WorkshopFree
Scott Spence
Scott Spence
¿Alguna vez has pensado en construir algo que no requiera mucho código de plantilla con un tamaño de paquete pequeño? En esta masterclass, Scott Spence irá desde el hola mundo hasta cubrir el enrutamiento y el uso de endpoints en SvelteKit. Configurarás una API de GraphQL en el backend y luego usarás consultas de GraphQL con SvelteKit para mostrar los datos de la API de GraphQL. Construirás un proyecto rápido y seguro que utiliza las características de SvelteKit, y luego lo desplegarás como un sitio completamente estático. Este curso es para los curiosos de Svelte que no han tenido una experiencia extensa con SvelteKit y quieren una comprensión más profunda de cómo usarlo en aplicaciones prácticas.

Tabla de contenidos:
- Inicio e introducción a Svelte
- Inicializar el proyecto frontend
- Recorrido por el proyecto esqueleto de SvelteKit
- Configurar el proyecto backend
- Consultar datos con GraphQL
- Recuperación de datos en el frontend con GraphQL
- Estilización
- Directivas de Svelte
- Enrutamiento en SvelteKit
- Endpoints en SvelteKit
- Despliegue en Netlify
- Navegación
- Mutaciones en GraphCMS
- Envío de mutaciones GraphQL a través de SvelteKit
- Preguntas y respuestas
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
React Advanced Conference 2022React Advanced Conference 2022
95 min
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
Featured WorkshopFree
Sabin Adams
Sabin Adams
En este masterclass, obtendrás una visión de primera mano de lo que es la seguridad de tipo de extremo a extremo y por qué es importante. Para lograr esto, construirás una API de GraphQL utilizando herramientas modernas y relevantes que serán consumidas por un cliente de React.
Prerrequisitos: - Node.js instalado en tu máquina (12.2.X / 14.X)- Se recomienda (pero no es obligatorio) utilizar VS Code para las tareas prácticas- Un IDE instalado (se recomienda VSCode)- (Bueno tener) *Un conocimiento básico de Node.js, React y TypeScript
GraphQL para Desarrolladores de React
GraphQL Galaxy 2022GraphQL Galaxy 2022
112 min
GraphQL para Desarrolladores de React
Featured Workshop
Roy Derks
Roy Derks
Hay muchas ventajas en utilizar GraphQL como fuente de datos para el desarrollo frontend, en comparación con las API REST. Nosotros, los desarrolladores, por ejemplo, necesitamos escribir mucho código imperativo para recuperar datos y mostrarlos en nuestras aplicaciones y manejar el estado. Con GraphQL, no solo puedes reducir la cantidad de código necesario para la obtención de datos y la gestión del estado, sino que también obtendrás una mayor flexibilidad, mejor rendimiento y, sobre todo, una mejor experiencia de desarrollo. En este masterclass aprenderás cómo GraphQL puede mejorar tu trabajo como desarrollador frontend y cómo manejar GraphQL en tu aplicación frontend de React.
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
React Summit 2022React Summit 2022
117 min
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
Top Content
WorkshopFree
Yevheniia Hlovatska
Yevheniia Hlovatska
A diferencia de las pruebas unitarias, las pruebas de extremo a extremo buscan interactuar con su aplicación tal como lo haría un usuario real. Y como todos sabemos, puede ser bastante desafiante. Especialmente cuando hablamos de aplicaciones móviles.
Las pruebas dependen de muchas condiciones y se consideran lentas e inestables. Por otro lado, las pruebas de extremo a extremo pueden dar la mayor confianza de que su aplicación está funcionando. Y si se hace correctamente, puede convertirse en una herramienta increíble para aumentar la velocidad del desarrollador.
Detox es un marco de pruebas de extremo a extremo en caja gris para aplicaciones móviles. Desarrollado por Wix para resolver el problema de la lentitud e inestabilidad y utilizado por React Native en sí como su herramienta de pruebas E2E.
Únete a mí en esta masterclass para aprender cómo hacer que tus pruebas de extremo a extremo móviles con Detox sean excelentes.
Prerrequisitos- iOS/Android: MacOS Catalina o más reciente- Solo Android: Linux- Instalar antes de la masterclass
Modelado de Bases de Datos Relacionales para GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Modelado de Bases de Datos Relacionales para GraphQL
Top Content
WorkshopFree
Adron Hall
Adron Hall
En esta masterclass profundizaremos en el modelado de datos. Comenzaremos con una discusión sobre varios tipos de bases de datos y cómo se mapean a GraphQL. Una vez que se haya establecido esa base, el enfoque se desplazará a tipos específicos de bases de datos y cómo construir modelos de datos que funcionen mejor para GraphQL en varios escenarios.
Índice de contenidosParte 1 - Hora 1      a. Modelado de Datos de Bases de Datos Relacionales      b. Comparando Bases de Datos Relacionales y NoSQL      c. GraphQL con la Base de Datos en menteParte 2 - Hora 2      a. Diseño de Modelos de Datos Relacionales      b. Relación, Construcción de Tablas Multijoin      c. Complejidades de Consulta de Modelado de Datos Relacionales y GraphQL
Prerrequisitos      a. Herramienta de modelado de datos. El formador utilizará dbdiagram      b. Postgres, aunque no es necesario instalar esto localmente, ya que estaré utilizando una imagen de Dicker de Postgres, de Docker Hub para todos los ejemplos      c. Hasura

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Todos amamos GraphQL, pero puede ser desalentador poner en marcha un servidor y mantener tu código organizado, mantenible y testeable a largo plazo. ¡No más! Ven a ver cómo paso de un directorio vacío a una API GraphQL completamente desarrollada en cuestión de minutos. Además, verás lo fácil que es usar y crear directivas para limpiar aún más tu código. ¡Vas a amar aún más GraphQL una vez que hagas las cosas Redwood Easy!
Entendiendo la Arquitectura Fiber de React
React Advanced Conference 2022React Advanced Conference 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
Hemos escuchado mucho sobre la Arquitectura Fiber de React, pero parece que pocos de nosotros la entendemos en profundidad (o tenemos el tiempo para hacerlo). En esta charla, Tejas repasará su mejor intento de entender Fiber (revisado por otros expertos), y lo presentará de una manera 'explicar-como-si-tuviera-cinco años'.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
¿Cuántas veces has implementado el mismo flujo en tu aplicación: verificar si los datos ya se han obtenido del servidor, si es así - renderizar los datos, si no - obtener estos datos y luego renderizarlos? Creo que lo he hecho más de diez veces yo mismo y he visto la pregunta sobre este flujo más de cincuenta veces. Desafortunadamente, nuestra biblioteca de gestión de estado predeterminada, Vuex, no proporciona ninguna solución para esto.Para la aplicación basada en GraphQL, había una alternativa para usar el cliente Apollo que proporcionaba herramientas para trabajar con la caché. Pero, ¿qué pasa si usas REST? Afortunadamente, ahora tenemos una alternativa de Vue a una biblioteca de react-query que proporciona una buena solución para trabajar con la caché del servidor. En esta charla, explicaré la distinción entre el estado de la aplicación local y la caché del servidor local y haré algo de codificación en vivo para mostrar cómo trabajar con este último.
Baterías Incluidas Reimaginadas - El Resurgimiento de GraphQL Yoga
GraphQL Galaxy 2021GraphQL Galaxy 2021
33 min
Baterías Incluidas Reimaginadas - El Resurgimiento de GraphQL Yoga
El Guild ha lanzado recientemente Envelop - un nuevo y moderno Framework de Servidor GraphQL y sistema de plugins. En esta charla compartiré una breve descripción de Envelop y por qué probablemente deberías actualizar tu servidor GraphQL existente a él.
Aplicaciones sólidas de React y GraphQL para personas con prisa
GraphQL Galaxy 2022GraphQL Galaxy 2022
29 min
Aplicaciones sólidas de React y GraphQL para personas con prisa
En esta charla, veremos algunas de las opciones modernas para construir una aplicación full-stack de React y GraphQL con convenciones sólidas y cómo esto puede ser de enorme beneficio para ti y tu equipo. Nos enfocaremos específicamente en RedwoodJS, un framework full stack de React que a menudo se llama 'Ruby on Rails para React'.