Flacor è una libreria JavaScript realizzata dagli sviluppatori di Netflix per le procedure di data fetching; sostanzialmente si tratta di una soluzione Open Source per l'estrazione dei dati da sorgenti nelle quali le informazioni da prelevare vengono messe a disposizione tramite notazione JSON (JavaScript Object Notation), un formato ormai standard per l'interscambio in applicazioni client-server.
Uno dei vantaggi derivanti dall'adozione di questa libreria risiede nel fatto che essa permette di fare riferimento ad un unico modello di dati, indipendentemente dalla loro fonte; più precisamente Falcor consente di rappresentare qualsiasi sorgente remota di informazioni sotto forma di un unico modello single domain, riducendo in modo sensibile le complessità derivanti dall'amministrazione dei dati.
Ciò avviene grazie all'impiego di JSON Graph, una convenzione che permette di modellare le informazioni sotto forma di oggetti JSON, per cui le applicazioni basate su Falcor sono in grado di rappresentare tutti i domain data di riferimento in un solo oggetto JSON Graph. In termini più semplici, lo sviluppatore potrà implementare il proprio codice per il data fetching sempre nello stesso modo, senza doversi preoccupare della soluzione scelta per allocare i dati, siano essi disponibili in memory, tramite client, o accessibili via server.
JSON Graph è una convenzione valida per quanto riguarda il rispetto dello standard JSON e permette di effettuare operazioni di parsing dei dati tramite qualsiasi parser che supporti questo formato, nel contempo introduce nuovi tipi primitivi JSON in modo da semplificarne l'utilizzo nella rappresentazione delle informazioni.
Per sua natura JSON è ubiquo e per questo permette di manipolare facilmente dati in formato JSON con JavaScript, inoltre è facilmente mappabile, consentendo di suddividere dataset di grandi dimensioni in sub-insiemi di dimensioni più contenute; JSON Graph risolve però il problema della duplicazione che spesso si verifica durante la serializzazione tramite JSON. In Falcor è il dato a costituire l'API vera e propria, quindi lo sviluppatore che conosce i propri dati può reperire facilmente le informazioni desiderate utilizzando un linguaggio familiare come JavaScript per operazioni di routine (get, set e call).
Via Falcor