Fermer

janvier 20, 2021

Quatre choses que j'ai apprises sur GraphQL avec Eve Porcello


Dans cet article, nous examinerons quelques petites choses que j'ai apprises en discutant avec Eve Porcello les mercredis de React.

Le React Wednesdaydays de la semaine dernière, Eve Porcello nous a donné une excellente introduction à GraphQL . Vous pouvez (et devriez!) Regarder le flux complet mais j'ai pensé souligner rapidement quelques choses que j'ai apprises.

 Eve montrant GraphQL "title =" Eve exhibant GraphQL "/ > </a></p>
<h2 id= 1) Les backends GraphQL peuvent être écrits dans n'importe quel langage

C'est peut-être parce que je suis un développeur frontend, mais je n'avais jamais vu que des exemples GraphQL présentés avec JavaScript.

Mais GraphQL est indépendant du langage, et le site officiel de GraphQL répertorie un nombre fou de langues supportées.

 Liste des langues supportées par GraphQL "title =" Liste des langues supportées par GraphQL "/> </p>
<p> Autre fait amusant: la spécification GraphQL a un système de type complet <a href=

qui est également indépendant du langage. Je suis sûr que les personnes qui travaillent sur les parseurs de langage GraphQL ont des histoires amusantes à travailler avec des cas de type edge 🙂

2) Les API GraphQL et RESTful peuvent coexister

J'ai toujours pensé à GraphQL et REST comme une situation soit-ou —C'est-à-dire que votre entreprise choisit GraphQL ou REST, mais pas les deux.

Et s'il est vrai qu'il y a une maintenance supplémentaire pour garder les deux indéfiniment, Eve a discuté de certaines raisons impérieuses de coexister. , supposons que votre entreprise dispose déjà d'API RESTful, mais que vous souhaitiez expérimenter GraphQL. Vous pouvez commencer par créer un backend GraphQL, puis demander à ce même backend d'appeler vos API RESTful pour effectuer la gestion des données. Cela vous donne la possibilité de tester GraphQL sans avoir à changer toute votre infrastructure.

3) L'autorisation ne fait pas partie de GraphQL

J'avais supposé que l'autorisation et les rôles des utilisateurs faisaient partie de la spécification GraphQL. Je me suis trompé.

La Documentation GraphQL note:

«L'autorisation est un type de logique métier qui décrit si un utilisateur / une session / un contexte donné a l'autorisation d'effectuer une action ou de voir un élément de Les données. L'application de ce type de comportement doit se produire dans la couche de logique métier. »

Aka, votre frontend peut transmettre des jetons (ou tout ce que vous utilisez pour gérer les utilisateurs), et votre backend devrait être chargé de faire en sorte que les utilisateurs soient autorisés à accéder au les données qu'ils demandent.

4) Vous pouvez faire des abonnements dans GraphQL

GraphQL prend en charge les abonnements basés sur WebSocket, vous permettant d'obtenir automatiquement des mises à jour de données de votre backend.

C'est beaucoup plus cool de voir cela en action, alors voici un lien vers la partie du flux où Eve l'explique et le montre .

Conclusion

Si vous trouvez quelque chose d'intéressant, vous pouvez consulter le flux d'une heure car nous en avons parlé bien plus que ce que je couvre dans cet article.

Et puis consultez la page d'accueil React Wednesday . Nous avons des flux comme celui-ci chaque mercredi avec des invités formidables. Rejoignez-nous et posez des questions!





Source link