GraphQL a été développé par Facebook en 2012 pour alimenter ses applications mobiles. Depuis l’open source GraphQL En 2015, il est devenu très populaire et est désormais utilisé par de nombreuses équipes de développement, dont des géants tels que GitHub, Twitter ou Airbnb. Pourquoi donc? Et qu’est-ce que GraphQL exactement ? nous allons jeter un coup d’oeil.
Qu’est-ce que GraphQL ?
GraphQL est un langage de requête pour les API et un runtime pour répondre à ces requêtes avec vos données existantes. GraphQL fournit une description complète et compréhensible des données de votre API et donne aux clients la possibilité de demander au serveur ce qui est exactement nécessaire, ce qui se traduira par une réponse contenant uniquement les données demandées, rien de plus.
L’idée de GraphQL est née au moment du boom mobile et son objectif principal pour GraphQL était de résoudre bon nombre des lacunes et des inefficacités auxquelles les développeurs d’applications mobiles Facebook étaient confrontés lorsqu’ils travaillaient avec l’API REST.
Source: GraphQL : le documentaire
Récupération de données dans GraphQL vs REST
Dans une application REST typique, le client collecte des données en accédant à plusieurs points de terminaison, c’est-à-dire que vous appelez d’abord le point de terminaison pour récupérer les données utilisateur brutes, puis effectuez un appel séparé pour récupérer toutes ses propriétés. GraphQL le gère différemment. La spécification définit ce qui peut être interrogé côté client et lors de l’interrogation du serveur GraphQL pour des données spécifiques, il répondra avec les données exactes qui ont été demandées, ce qui signifie que moins de bits sont transférés sur le câble.
Langage de définition de schéma (SDL)
GraphQL Le régime est le noyau de n’importe quel projet GraphQL. Niché dans un serveur GraphQL, il définit chaque fonction disponible pour un client GraphQL. L’élément de base de chaque schéma est un fichier type
Cela permet de créer des relations entre différents éléments de schéma, de définir quelles opérations GraphQL sont autorisées à être exécutées sur le serveur, et plus encore. Pour faciliter la compréhension des opérations que le serveur peut effectuer, GraphQL définit une structure de schéma générale connue sous le nom de Langage de définition de schéma (SDL). Les éléments de base d’un schéma GraphQL sont : types d’objets. Il représente un objet que vous pouvez récupérer depuis votre serveur GraphQL avec des champs disponibles comme :
type Movie { title: String Director: Director } type Director { name: String movies: [Movie] }
Enquête Il s’agit d’une opération de récupération de base dans GraphQL pour demander des données à un serveur GraphQL
type Query{ getMovies: [Movie] getDirectors: [Director] }
saut C’est l’une des opérations de base de GraphQL qui permet de manipuler des données (créer, modifier ou supprimer) :
type Mutation { addMovie(title: String, director: String) : Movie }
Si vous souhaitez en savoir plus sur le SDL responsable site web GraphQL est la voie à suivre.
Premiers pas avec GraphQL
Si vous voulez en savoir plus sur GraphQL, le mieux est de l’essayer vous-même. Je crois que Éditeur GraphQL C’est une option à considérer. C’est un outil utile lorsque vous faites vos premiers pas avec GraphQL car vous pouvez travailler avec votre schéma GraphQL sur une interface visuelle (bien sûr, vous pouvez également écrire du code). L’éditeur GraphQL fournit de nombreuses fonctionnalités utiles qui vous aideront à vous assurer que votre API GraphQL est bien développée.
Les nouveaux utilisateurs de GraphQL trouveront le didacticiel interactif intégré très utile. Six tâches courtes qui vous informeront en fonction de la syntaxe SDL comme :
Cela vous permet de commencer à travailler sur votre premier schéma GraphQL. Cliquez sur ce lien Si vous l’aimez, vous serez redirigé vers notre tutoriel interactif GraphQL. Éditeur GraphQL Fournit plus facilement :
1. Créez le graphique – GraphQL Editor est un environnement de développement GraphQL, où vous pouvez prototyper votre schéma avec des nœuds visuels, le valider et le valider. Parallèlement, le code traditionnel est construit pour que vous puissiez le faire dans les deux sens.
2. Gestion – L’éditeur fournit une automatisation de votre projet GraphQL où vous pouvez importer un schéma de production existant, le modifier et créer un backend factice. De cette façon, vous pouvez tester de nouvelles fonctionnalités même sans un arrière-plan de productivité pleinement opérationnel !
3. Bibliothèques de saisie semi-automatique frontale – De plus, si JavaScript / TypeScript fait partie de vos langages préférés, vous pouvez exporter les bibliothèques de saisie semi-automatique de votre projet qui sont alimentées par diagramme ql-zeus.
4. Coopération – La représentation visuelle du schéma améliore la communication entre les développeurs et les personnes ayant des rôles commerciaux dans l’équipe.
conclusion
Suivi par la bibliothèque client la plus populaire, Apollo, GraphQL continue de croître de manière exponentielle en popularité. GraphQL sera une force technologique avec laquelle il faudra compter en 2019. Beaucoup dans l’industrie pensent que 2019/2020 sera une période d’adoption massive de GraphQL. Bien que REST soit encore une technologie plus mature et plus populaire, en n’expérimentant pas GraphQL, vous faites une erreur. Je pense que c’est une approche intéressante et prometteuse pour la communication client-serveur.
À propos de Tomek Poniatowicz
Explorateur numérique et passionné de GraphQL. Jouez à Magic the Gathering et préparez des pizzas maison entre les articles du blog.