Live Queries – Consultas em tempo real

Live Queries – Consultas em tempo real

A ideia de garantir que o desenvolvimento de uma aplicação ocorra de forma rápida e eficiente está no cerne da filosofia do Back4app. Portanto, a recente adição do recurso Live Query (consultas instantâneas) ao Back4app torna o desenvolvimento de aplicativos nesta plataforma uma opção ainda mais atraente. O acesso a informações em tempo real sobre mudanças no banco de dados é particularmente importante para os desenvolvedores. Através da ativação do Parse Live Query, os desenvolvedores agora podem receber as notificações em tempo real de alterações relevantes do banco de dados.

Utilidade

Parse.Query é um recurso de programação que permite que um desenvolvedor configure condições de forma a recuperar objetos Parse. É amplamente utilizado para a criação de painéis, jogos de estratégia e vários outros tipos de app.

Limitações

Um dos principais desafios enfrentados pelos programadores é a necessidade de aplicativos de desenvolvimento com suporte em tempo real. Uma equipe de desenvolvedores não pode trabalhar editando um único arquivo simultaneamente e facilmente acompanhar todas as atualizações com o Parse.Query.

Vantagens

O Live Query foi desenvolvido como uma solução para as limitações do Parse. Esta nova ferramenta permite que um desenvolvedor realize notificações em tempo real de determinadas criações e atualizações. Por exemplo, pode-se definir uma condição para que o servidor notifique se forem feitas alterações em uma classe específica. Desta forma, o desenvolvedor fica sabendo instantaneamente quando alterações de banco de dados são feitas, independentemente de sua origem. Os desenvolvedores também se beneficiam de economias de recursos, visto que o Live Query evita a necessidade de manter a pesquisa no banco de dados para descobrir se houve a alteração em algum parâmetro.

Como utilizar o Live Query no Back4app?

É muito simples. Primeiro, você precisa ativar o Live Query para aquelas classes que deseja usar em tempo real. Em segundo lugar, transfira e instale o SDK apontando para o novo endpoint da API. Seguindo estes dois passos, você pode usar o Live Query no seu código.

1 – Configure suas Live Queries no seu servidor web

Os servidores do Back4App precisam saber que você está enviando uma solicitação de consulta instantânea. Logo, configure seu serviço de hospedagem web (web hosting) de forma que envie as mensagens para um endpoint diferente. Entre no seu aplicativo e siga o caminho abaixo.

  • View App
  • Web Host + Live Query

webhostinglive-query

Selecione Activate Live Query e as classes que deseja ativar.

web-hosting-live-query-2

2 – Atualize seu SDK

Efetue o download e atualize seu SDK com seu última versão.

3 – Utilize o recurso Live Query (Consulta Instantânea)

Para ilustrar como usar o Live Query, segue abaixo um exemplo de aplicativo em Javascript (NodeJS) e uma classe simples (Message) no Back4App. Utilizando o Dashboard, foram criadas, atualizadas e removidas linhas na presente classe. As mensagens em tempo real foram colocadas no campo “text”. As principais diferenças entre uma consulta regular e uma consulta em tempo real são os métodos Subscribe e Unsubscribe (marcados em vermelho).

var Parse = require('parse/node');

Parse.initialize("Fsk0eOuypmOyQr7jhyl77QhzmtEdjMbJWFNTBZSz", "LQOhZDS5xHLa12kAutp7nIklXfisqdAhqpXHm2JQ");
Parse.serverURL = 'https://livequery.back4app.io';

var Message = Parse.Object.extend('Message');
var query = new Parse.Query(Message);
query.equalTo('username', process.argv[2]);
var subscription = query.subscribe();

subscription.on('create', function (message) {
 console.log('Message created with text: ' + message.get('text'));
});

subscription.on('update', function (message) {
 console.log('Message updated with text: ' + message.get('text'));
});

subscription.on('delete', function (message) {
 console.log('Message deleted with text: ' + message.get('text'));
 subscription.unsubscribe();
});

console.log('Running for user ' + process.argv[2]);

Leave a reply

Your email address will not be published.