Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

GraphQL — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • GraphQL

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a desarrolladores que ya conocen los fundamentos de GraphQL y quieren consolidar un dominio real y aplicado de la tecnología, este curso profundiza en el ciclo completo de construcción de una API GraphQL de nivel profesional. A lo largo de ocho horas los participantes aprenderán a modelar esquemas complejos a partir de requisitos funcionales, a implementar resolvers que se conecten a fuentes de datos reales, a proteger el servidor mediante autenticación y autorización basada en contexto, y a mantener el esquema evolucionando sin romper los contratos con los clientes existentes; al finalizar, cada participante habrá construido y depurado un servidor GraphQL funcional integrado con una base de datos o API REST, capaz de manejar autenticación por roles y diseñado con operaciones de cliente reutilizables.

  1. Comparar GraphQL y REST ante casos de uso concretos, aplicando criterios técnicos como over-fetching, diseño de contratos de API y número de endpoints, para fundamentar decisiones de arquitectura con rigor.
  2. Diseñar esquemas GraphQL —tipos, relaciones, queries y mutations— a partir de requisitos funcionales, justificando las decisiones de modelado, y diseñar operaciones de cliente con variables, fragmentos y operaciones nombradas.
  3. Implementar resolvers en Node.js conectados a una fuente de datos real, gestionando el flujo async/await y los errores de origen, e integrar autenticación y autorización básica mediante el objeto context para restringir el acceso según el rol del usuario.
  4. Adaptar un esquema ante cambios de requisitos sin romper las operaciones existentes del cliente, identificar el problema de N+1 queries en resolvers anidados y reestructurar la resolución para reducir llamadas redundantes.
  5. Depurar operaciones GraphQL fallidas usando herramientas de introspección y mensajes de error del servidor, hasta identificar y corregir la causa raíz de manera sistemática.

GraphQL frente a REST: criterios de decisión técnica. Se revisan comparativamente las diferencias entre GraphQL y REST —over-fetching, under-fetching, proliferación de endpoints y gestión de contratos— con casos de uso concretos que sirven de referencia para futuras decisiones de arquitectura.

Modelado avanzado del esquema. Se estudia cómo trasladar requisitos funcionales a tipos, relaciones, queries y mutations bien estructurados, incluyendo los criterios para elegir escalares personalizados, interfaces y unions cuando la complejidad del dominio lo exige. Se analiza también cómo hacer evolucionar el esquema —añadiendo tipos relacionados o modificando mutations— sin introducir cambios disruptivos para los clientes ya integrados.

Implementación de resolvers con fuentes de datos reales. El bloque cubre la escritura de resolvers en Node.js conectados a una base de datos o a una API REST existente, poniendo el foco en el manejo correcto de async/await y en la propagación y transformación de errores de origen para que el cliente reciba mensajes coherentes con el contrato GraphQL.

Autenticación, autorización y contexto del servidor. Se explica cómo construir y poblar el objeto context en el arranque del servidor, cómo verificar tokens de sesión en ese punto del ciclo de vida y cómo aplicar lógica de autorización por rol dentro de los resolvers para proteger campos y operaciones de forma granular.

Operaciones de cliente reutilizables y rendimiento de resolución. Se diseñan queries con variables, fragmentos y operaciones nombradas, razonando cuándo cada mecanismo aporta valor respecto a queries estáticas. A continuación se introduce el problema de N+1 queries en grafos de resolvers anidados y se muestra cómo reorganizar la lógica de resolución para agrupar llamadas redundantes a la fuente de datos sin necesidad de incorporar DataLoader completo.

Depuración sistemática con introspección. El bloque final aborda el proceso de diagnóstico ante una operación fallida: lectura e interpretación de los mensajes de error del servidor, uso de la introspección para validar el esquema en tiempo de ejecución, y estrategia de corrección paso a paso aplicada a errores de resolver, tipos incorrectos y argumentos mal formados.

  • Node.js 18 LTS o superior instalado localmente.
  • Editor de código con soporte GraphQL (se recomienda Visual Studio Code con la extensión GraphQL: Language Feature Support).
  • Cliente GraphQL de escritorio, por ejemplo Apollo Sandbox o Insomnia, para ejecutar y depurar operaciones durante los ejercicios.
  • Acceso a una base de datos local o en la nube compatible con el driver que se usará en los laboratorios (PostgreSQL o MongoDB; se indicará la opción concreta antes del inicio del curso).
  • Conexión a internet estable para acceder a los entornos de práctica y a la documentación de referencia.

Para aprovechar este curso el participante debe haber completado el nivel Iniciación de GraphQL (GGQL01) o acreditar un conocimiento equivalente: saber escribir queries y mutations básicas, entender la estructura de un esquema SDL y haber configurado un servidor GraphQL mínimo. Asimismo se requiere soltura con JavaScript asíncrono (Promises y async/await) y un manejo básico de Node.js, ya que los ejercicios prácticos se construyen sobre esa pila sin introducirla desde cero.