GraphQL Intense

Paris | 16-17 avr.

Qu’allez-vous apprendre ?

Pourquoi GraphQL ?

GraphQL est une technologie récente permettant de créer des API robustes et scalables. Nous verrons ensemble les avantages apportés par GraphQL en comparaison avec les API REST classiques.

  • Comprendre les différences entre REST et GraphQL
  • Apprendre à penser son API sous forme de graphe

Créer un schéma GraphQL scalable

Le coeur de votre API GraphQL, c'est le schéma. Nous verrons comment créer un schéma GraphQL et comment le faire de façon évolutive.

  • Créer un schéma GraphQL de zéro avec le langage de schéma GraphQL
  • Utiliser les interfaces et les fragments pour faire du polymorphisme
  • Mocker les données de votre schéma pour démarrer sans base de donnée
  • Gérer les dates en GraphQL avec les types scalaires custom

Exposer son schéma en HTTP

Votre schéma GraphQL sera généralement exposé via HTTP. Nous découvrirons comment le faire de manière simple et rapide avec Express et comment utiliser l'IDE intégré afin de tester ses requêtes.

  • Créer un serveur HTTP avec Express
  • Exposer son schéma GraphQL via HTTP
  • Utiliser GraphiQL pour déboguer les requêtes

Requêtes et mutations

Une API GraphQL expose un schema, et deux types fondamentaux : les requètes et les mutations. Nous découvrirons les différences entre ces deux types et toutes les possibilités offertes par le langage de requêtage GraphQL.

  • Comprendre le langage de requêtage GraphQL
  • Modifier vos données avec les mutations
  • Paramétrez vos requètes avec les variables et les directives
  • Partager des données avec les fragments

Tester et modulariser son API

Il est important de tester votre API GraphQL afin d'éviter les régressions. Nous verrons comment organiser votre schéma et séparer les responsabilités afin de tester votre API de manière simple et efficace.

  • Externaliser la logique du schema avec le contexte (authentification)
  • Utiliser Jest pour tester son API GraphQL
  • Modulariser son schéma en blocs fonctionnels

Optimisations

Créer une API GraphQL est relativement simple, en revanche l'optimiser c'est une autre affaire. Il existe plusieurs techniques permettant d'optimiser GraphQL. Nous parcourrons ensemble ces techniques.

  • Eviter les requètes n+1 avec DataLoader
  • Comprendre et analyser l'AST d'une requète GraphQL
  • Scaler son application au sein d'une architecture micro-service

GraphQL dans votre application JavaScript

Grâce au client Apollo et via la création d'une application React + GraphQL, nous découvrirons comment intégrer GraphQL au sein d'une application JavaScript moderne.

  • Créer un système de pagination basé sur des curseurs
  • Tirer parti du cache Apollo avec le query splitting
  • Ajouter une dimension temps réel avec les souscriptions
Télécharger le programme en PDF

Les Objectifs

Ce Workshop vous permettra de comprendre les avantages d'une API GraphQL face à une API REST traditionnelle. A travers la création d'une application client et serveur vous découvrirez toutes les fonctionnalités offertes par GraphQL. A la fin du Workshop, vous serez en mesure de le mettre en place dans vos projets.

À qui s’adresse cette formation ?

  • Les développeurs souhaitant créer une API partagée entre des applications web et mobile.
  • Les développeurs React souhaitant avoir une approche moderne pour la partie fetching des données.
  • Les architectes souhaitant élaborer une stratégie d'API au sein de leur organisation.

Votre formateur

Greg Bergé

Greg Bergé

Greg est développeur JavaScript depuis le début des années 2000 et auteur de plusieurs librairies open-source à succès comme Shipit, React Hot Loader ou SVGR. Formateur à l’international, c’est l’expert JavaScript de Smooth Code.