Sobes.tech
Senior

Quais são as características do protocolo DDP?

sobes.tech IA

Resposta da IA

O DDP (Protocolo de Dados Distribuídos) é um protocolo utilizado no Meteor.js para sincronizar dados em tempo real entre o cliente e o servidor.

  • Publicação-inscrição (Pub/Sub): O servidor "publica" coleções de dados, e os clientes podem "inscrever-se" nelas. Quando os dados mudam no servidor, eles são automaticamente "empurrados" para os clientes inscritos.
  • RPC (Chamada de Procedimento Remoto): Os clientes podem chamar funções definidas no servidor como se fossem locais.
  • UI otimista: O cliente pode mostrar imediatamente as mudanças na interface do usuário, como se já tivessem ocorrido no servidor. Em caso de conflitos ou erros, a UI reverte ao estado anterior.
  • Com estado: O DDP mantém o estado da conexão entre o cliente e o servidor, permitindo sincronização de dados em tempo real.
  • Utiliza WebSockets: Geralmente funciona sobre WebSockets para troca eficiente de dados em tempo real, mas também pode usar outros mecanismos se WebSockets não estiverem disponíveis.
  • Formato JSON: Os dados são transmitidos em formato JSON.

Exemplo de chamada de método RPC no cliente:

// Chamada ao método do servidor 'addTask' com parâmetros
Meteor.call('addTask', 'Nova tarefa', function(error, result) {
  if (error) {
    console.error('Erro ao adicionar a tarefa:', error);
  } else {
    console.log('Tarefa adicionada com sucesso, ID:', result);
  }
});