Edelweiss - Fotolia

La Fondation GraphQL fête ses un an sans feuille de route claire

La fondation GraphQL s’est développée au cours de sa première année d’existence. Les développeurs de bases de données et d’applications ont adopté cette couche de requête API pour connecter différentes sources de données.

La fondation GraphQL s’est développée au cours de sa première année d’existence. Les développeurs de bases de données et d’applications ont adopté cette couche de requête API pour connecter différentes sources de données.                

L’une des tendances les plus fortes dans le développement d’applications de données ces dernières années a été l’essor du langage de requête GraphQL. GraphQL est adopté par les éditeurs de bases de données et les entreprises, comme un moyen de créer un arbre d’arborescence qui relie des ensembles disparates d’informations par-dessus une architecture API. Le projet est souvent présenté comme une alternative aux API REST. 

Issu d’un développement interne mené par Facebook en 2012, GraphQL a été présenté comme un projet open source en 2015. La fondation du même nom a été lancée en mars 2019 avec une gouvernance ouverte et le soutien de plusieurs organisations, dont Facebook, GitHub, Twitter, Airbnb, Apollo et Shopify.

Après un an, la Fondation GraphQL a rencontré un certain succès, qu’elle a résumé dans son premier rapport annuel le 2 avril, indiquant que le nombre de membres est passé de 10 membres lors du lancement de l’organisation à 21 membres en 2020. 

Bien que GraphQL lui-même soit en plein essor en tant que langage de requête, certains observateurs restent prudents à ce stade quant au succès de la fondation.

« L’écosystème GraphQL a été florissant ces dernières années », déclare Gary Olliffe, un analyste chez Gartner. « Nous l'avons vu se développer à partir de l'écosystème des développeurs front-end, puis commencer à pénétrer l'écosystème API. Les éditeurs et les entreprises ont suivi le mouvement ».

La Fondation GraphQL semble grandir et proposer de nouvelles spécifications à un rythme régulier, même si ce tempo peut sembler lent, considère Gary Olliffe. Une mise à jour de la spécification, la première depuis 2018, est prévue dans le courant de cette année. 

« Alors que le récent rapport annuel 2019 de la fondation met en évidence les progrès positifs et donne un bref aperçu de ce qui est prévu pour 2020, il y a encore peu de choses concrètes sur la feuille de route. Il est encore difficile de prédire les priorités techniques de la Fondation », estime l’analyste. 

Gary Olliffe a fait remarquer qu’il suffit de regarder le site web de GraphQL ou son flux Twitter pour se rendre compte qu’il ne se passe pas grand-chose avec le langage. À l’inverse, a-t-il dit, la communauté GraphQL est très active sur Twitter et Reddit.

La Fondation veut conserver la neutralité de GraphQL

Lee Byron, directeur exécutif de la fondation et co-créateur de GraphQL, assure que son principal objectif pour la fondation était de créer un lieu d’accueil neutre pour GraphQL, avec un modèle de licence et de propriété clair, afin de permettre le développement continu des projets techniques de base. À cet égard, la première année de la fondation a été positive, affirme-t-il.

« L’année dernière, nous avons amélioré les spécifications de GraphQL afin d’éliminer un certain nombre d’incohérences et d’ambiguïtés. Nous avons également résolu certains problèmes qui ont conduit à différentes implémentations de GraphQL pour interpréter le texte de la requête de manière subtilement différente », énumère Lee Byron. 

La fondation héberge plusieurs projets, dont la spécification du protocole de base, l’implémentation de référence GraphQL.js, la bibliothèque de chargement de données et l’outil de développement GraphQL. Bien que GraphQL soit parfois utilisé par éditeurs SGBD, la fondation n’a pas l’intention de lancer de projets spécifiques à une base de données.

« Il est important que GraphQL ne devienne pas un langage de requête associé à une base de données », avertit Lee Byron. « Il existe des bases de données qui peuvent fournir une API basée sur GraphQL pour certains types de requêtes ».

Pour Byron, GraphQL est plus efficace en tant que couche de requête API pour généralement superposer des systèmes complexes tels que des services ou des bases de données multiples et les unifier en une surface holistique pour les clients.

La société de services financiers Credit Karma, basée à San Francisco, utilise GraphQL en production depuis 2017 pour unifier différentes sources de données. L’architecture GraphQL de Credit Karma fournit des données aux utilisateurs dans un modèle qui n’expose pas directement une base de données.

GraphQL, une couche pour unifier les données

Apollo, un éditeur de solutions de graphe de données est l’un des membres fondateurs de la Fondation GraphQL. Il possède également une plateforme commerciale basée sur GraphQL.

« GraphQL répond au souhait de pouvoir intégrer tous les différents types de données dont vous disposez dans une application. »
Matt DebergalisCTO, Apollo

« Apollo est une implémentation de GraphQL spécialement conçue pour permettre aux entreprises de définir un graphe, un schéma GraphQL en plus des API et des bases de données dont elles disposent déjà », indique Matt DeBergalis, directeur technique et co-fondateur d’Apollo.

Le langage de requête fournit une nouvelle façon de décrire ce dont une application a besoin en termes de données, vante-t-il. « De nombreux éditeurs ont ajouté le support de GraphQL aux bases de données, parmi lesquels Neo4j, MongoDB, Dgraph, FaunaDB et d’autres », rappelle-t-il.

« GraphQL répond au souhait de pouvoir intégrer tous les différents types de données dont vous disposez dans une application », ajoute le CTO d’Apollo.

Par exemple, pour une application e-comme, « il est important d’avoir plus qu’un simple catalogue de produits. Il est également essentiel de fournir des capacités de personnalisation, y compris des recommandations et d’autres éléments qui améliorent l’expérience de l’utilisateur ».

« Ce qui rend la création de ce type de logiciel si difficile, c’est la nécessité d’intégrer de nombreux types de données qui vivent dans des systèmes différents et qui ont été créés par des équipes différentes », observe Matt DeBergalis. « GraphQL réunit tout cela ».

« L’enthousiasme du monde des bases de données pour l’intégration avec GraphQL est, je pense, la preuve que nous sommes en train de proposer quelque chose de spécial avec laquelle les éditeurs veulent rendre les données plus accessibles », conclut-il.

Pour approfondir sur Open Source

Close