BT

Manipulando JSON com o Netflix Falcor

| por Abel Avram Seguir 10 Seguidores , traduzido por Diogo Carleto Seguir 40 Seguidores em 16 set 2015. Tempo estimado de leitura: 1 minuto |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT