BT

Obtenir des Données JSON avec Netflix Falcor

| par Abel Avram Suivre 11 Abonnés , traduit par Slim Ouertani Suivre 8 Abonnés le 09 sept. 2015. Durée de lecture estimée: 1 minute |

Netflix a ouvert le code source de Falcor, une bibliothèque JavaScript offrant un modèle et un mécanisme asynchrone pour récupérer les données JSON à partir de sources multiples.

Netflix utilise Falcor pour peupler l'interface utilisateur de leur application Web avec des données JSON. Toutes les données back-end provenant d'un cache mémoire ou de plusieurs bases de données sont modélisées par un seul objet JSON virtuel. Il est appelé « virtuel » car du point de vue client, les données semblent être dans la mémoire, même si elles peuvent effectivement résider sur des bases de données locales ou distantes.

Les données sont mises à disposition à travers un graphe JSON, en utilisant l’interface DataSource ayant les opérations asynchrones suivantes : get, set et call. Le client peut parcourir le graphe en utilisant des chemins similaires à JavaScript en accédant directement aux données JSON. A des fins de démonstration, nous allons examiner cet objet JSON minimal :

 

    { "greeting": "Hello World" }

 

Si cet objet est stocké dans le fichier "model.json", y accéder se traduit comme suit :

 

    <script src="https://netflix.github.io/falcor/build/falcor.browser.js"></script>
    <script>
      var model = new falcor.Model({source: new falcor.HttpDataSource('/model.json') });

      // retrieve the "greeting" key from the root of the Virtual JSON resource
      model.
        get("greeting").
        then(function(response) {
          document.write(response.json.greeting);
        });
    </script>

 

Falcor comprend un routeur qui cache les entrepôts de données actuelles et qui dirige les appels vers les services back-end responsables et appropriés pour récupérer les données. Aussi, lorsque les données sont récupérées, elles sont mises en cache pour éviter les allers-retours à la base de données. Falcor peut également faire des traitements par lots, avec un seul appel sur le réseau, et ne délivre pas de demandes de base de données en double s’il en existe déjà une dans le processus.

Netflix a mis a disposition Falcor sur GitHub, et demande le support de la communauté pour trouver et corriger les bugs ainsi que l'intégration avec les différents frameworks MVC.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT