Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Relay : le framework de data-fetching de Facebook
Utilisé par son framework React.js

Le , par vermine

36PARTAGES

1  0 
Relay : le framework de data-fetching de Facebook
Utilisé par son framework React.js

Relay, annoncé à la conférence React.js de janvier 2015, est un nouveau framework de Facebook qui fournit des fonctionnalités d'extraction de données (data-fetching) pour les applications de React.


Chaque élément spécifie ses propres dépendances de données déclarativement à l'aide d'un langage de requête appelé GraphQL. Les données sont rendues accessibles au composant par l'intermédiaire de propriétés de this.props.

En pratique, les développeurs créent leurs composants React de manière naturelle et Relay s'occupe de construire les requêtes dans des objets fournissant les données nécessaires (et pas plus) à chaque composants, effectuant la mise à jour des composants lorsque les données changent et maintenant un cache client avec toutes les données.

Relay est donc une nouvelle façon de structurer les applications clientes qui regroupent l'exigences d'extraction de données et les composants de React. Au lieu de placer la logique de récupération de données dans une autre partie de l'application cliente ou de l'incorporer sur le serveur, Relay utilise l'extraction de données de manière déclarative via le langage GraphQL.

GraphQL n'a pas été inventé pour Relay. En fait, GraphQL existe depuis trois ans. Il a été inventé lors du passage des applications mobiles HTML5 de Facebook vers des applications purement natives. C'est un langage de requête pour les données de graphe qui gère l'interaction dans les applications Facebook Android et iOS.

L'objectif de Relay est de simplifier le développement afin d'obtenir des composants solides et correctement liés à leur données et ce de manière indépendante des autres composants. Notons le prédicat suivi : un composant ne sera pas affiché tant que toutes les données qu'il a demandé soient disponibles. Les requêtes sont définies de manière statique et le schéma de GraphQL fournit une description faisant autorité sur la validité des requêtes. Ainsi, les requêtes peuvent être validées dès le début.

Voici quelques caractéristiques :

  • tout ce qui est inefficace ou répétitif est repris dans des requêtes minimales et efficaces ;
  • le framework sait quel composant utilise quelles données et peut ainsi le mettre à jour automatiquement ;
  • il est facile de créer des paterns communs comme la pagination ;
  • cela simplifie l'implémentation côté serveur ;
  • etc.


Introduction à Relay
Introduction à GraphQL

Et vous ?

Que pensez-vous de Relay et de GraphQL ?
Utilisez-vous les frameworks de Facebook ?
Quelle méthode utilisez-vous pour le data-fetching ?

Une erreur dans cette actualité ? Signalez-le nous !