BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Manipulando JSON com o Netflix Falcor

Manipulando JSON com o Netflix Falcor

Favoritos

O Netflix liberou o código fonte do Falcor, uma biblioteca que oferece um mecanismo assíncrono e um modelo de obter dados JSON de múltiplas fontes.

O Falcor serve para popular a interface do usuário das aplicações web com dados JSON. Todos os dados do backend são obtidos através de um cache em memória ou de múltiplos bancos de dados e mapeados para um simples objeto virtual JSON. Esse formato é chamado de "virtual" devido ao fato de na perspectiva dos clientes os dados parecerem estar na memória, embora o mesmo possa residir localmente ou em bancos de dados remotos.

Os dados são disponibilizados através de um JSON graph, usando a interface DataSource as seguintes operações assíncronas estão disponíveis: get, set e call. O cliente pode percorrer o graph usando JavaScript de maneira semelhante à forma de acessar os dados JSON diretamente. Para fins de demonstração, considere esse simples objeto JSON:

{
  "greeting": "Hello World"
}

Se este objeto é armazenado no arquivo model.json, então o acesso é feito da seguinte forma:

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

  // retorna a chave "greeting" da raiz do JSON Virtual
  model.
    get("greeting").
    then(function(response) {
      document.write(response.json.greeting);
    });
</script>

O Falcor inclui um roteador que esconde o armazenamentos dos dados reais e direciona as chamadas para os serviços de backend responsáveis em obter os dados. Além disso, quando os dados são recuperados, os mesmos são armazenados em cache para evitar requisições subsequentes a base de dados. O Falcor também pode executar múltiplas requisições em lote, fazendo uma única solicitação de rede, e não emite solicitações de banco de dados duplicadas caso já exista um requisição em andamento.

O Netflix disponibilizou o Falcor no GitHub, pedindo ajuda à comunidade para encontrar e corrigir bugs, e integrá-lo com vários frameworks MVC. Mais informações na página do projeto Falcor.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT