L’échange de données front-back efficace avec GraphQL
Après leur intervention dans le cadre de Devoxx FR 2017, Antoine Cellier et Hugo Wood vous proposent dans cette vidéo de découvrir comment palier les inconvénients des API HTTP classiques grâce à GraphQL.
Le design d’API HTTP est un exercice difficile auquel les développeurs d’applications de gestion sont presque toujours confrontés. Même s’il existe quelques bonnes pratiques, certains inconvénients sont inhérents à la technologie : il faut choisir entre une API générique (découpage des données fin, couplage client-serveur faible, performances faibles parce que beaucoup d’aller-retour réseau) ou une API spécifique (fort couplage, bonnes performances).
Facebook développe depuis 2012 une alternative qui propose d’allier un couplage faible et de bonnes performances. Cette alternative, révélée au public en 2015, c’est GraphQL, et c’est un langage de requêtage standardisé. GraphQL connaît depuis son apparition un engouement croissant.
Dans cette vidéo nous vous proposons d’illustrer les différences entre GraphQL et les API HTTP dont nous avons l’habitude.
Pour aller plus loin, nous vous proposons les ressources suivantes :
- Le site officiel de GraphQL
- Notre présentation “GraphQL vs Falcor” à Devoxx FR 2017, qui compare REST à GraphQL et Falcor, une autre alternative proposée par Netflix
- La spécification de GraphQL
- L’implémentation de référence de Facebook, en JavaScript
- Apollo, une solution client-serveur pour adopter GraphQL en tant qu’agrégateur d’API existantes
- Graphcool, une solution contract-first pour définir des API GraphQL et générer le back-end correspondant, potentiellement hébergé dans le cloud
- Les listes “Awesome GraphQL” de C. T. Lin et Josh Black