English
Polski
Deutsch
日本
Español
Nederlands
Dansk
GraphQL est un moyen de communiquer avec les API créé comme une alternative à REST.
GraphQL est un langage de requête pour les API qui a été développé par Facebook et sa communauté de dev. Il a été présenté pour la première fois en juin 2018, et c'est maintenant une technologie mature qui a gagné une large reconnaissance du marché. Par conséquent, elle est bien reconnue et de nombreuses entreprises choisissent de la mettre en œuvre. Pour te dire en quoi elle est différente, il faut se pencher sur ce qui est encore le plus utilisé : REST et ce sur quoi il est basé. GraphQL est souvent appelé le successeur de REST parce qu'il résout ses principaux problèmes. Comme tu le sais sans doute, il est basé sur une sorte d'ancienne conception du système. Selon elle, chaque modèle de données est disponible à une adresse distincte. Avec une boutique en ligne de vêtements, par exemple, nous pouvons avoir des adresses pour le panier, l'entrepôt, les produits et bien d'autres encore.
En fait, le nombre de ces adresses ne sera jamais faible, au contraire, il augmentera avec le système. Garde à l'esprit que pour presque chaque adresse, tu dois créer un ensemble d'appels pour gérer les demandes d'obtention, d'affichage, de mise en ligne ou de suppression. Il en résultera un grand nombre d'adresses à maintenir et une quantité encore plus importante d'appels nécessaires pour obtenir les données. GraphQL fonctionne d'une manière complètement différente. Nous n'avons qu'une seule adresse, une seule source de vérité, à partir de laquelle nous pouvons demander des données. Ce que nous obtenons dépend uniquement de nous et de la façon dont nous construisons la requête.
La principale caractéristique de GraphQL est la possibilité d'effectuer des requêtes flexibles au sein desquelles nous définissons exactement les données de l'API que nous voulons obtenir. En outre, le langage offre la possibilité de créer des requêtes imbriquées, ce qui lui permet de gagner encore plus d'avantages sur les API REST dans ces domaines.
Un point de similitude entre REST et GraphQL est l'indépendance de la plateforme ou du langage de programmation. Une autre caractéristique commune est l'idempotence des mêmes opérations. Pour l'architecture REST comme pour GraphQL, les opérations telles que récupérer, modifier ou supprimer peuvent être utilisées à plusieurs reprises sans que le résultat ne change.
Les éléments de base de GraphQL sont : la mutation :
GraphQL utilise sa propre syntaxe : SDL ou Schema Definition Language. Il est utilisé pour spécifier le schéma d'une API ainsi que ses types et ses champs. Les types sont déclarés à l'aide du mot-clé type et les champs sont ajoutés entre parenthèses pour chaque type d'objet.
Bien que GraphQL ne soit pas encore aussi populaire que REST, sa communauté se développe rapidement. Il a déjà eu un certain nombre d'adoptants majeurs tels que GitHub, Netflix, PayPal ou Shopify. Ce n'est qu'une question de temps avant que d'autres suivent.