Eu encontrei o Meteor e, embora pareça emocionante, quero saber como funciona. Quero dizer, os aplicativos convencionais da web funcionam assim: você tem scripts no servidor que pegam dados do banco de dados e os adicionam dinamicamente às páginas da web e os dados enviados pelo usuário são adicionados aos bancos de dados por meio de alguns outros scripts.
Mas como essas coisas funcionam no Meteor? Como as diferentes partes do Meteor estão relacionadas entre si?
Respostas:
Meteor é uma estrutura que atualiza HTML de maneira elegante em tempo real.
A beleza do Meteor é que você só precisa criar os modelos e os modelos de dados. O resto do código clichê usual é escondido. Você não precisa escrever todo o código de sincronização.
As peças-chave do Meteor podem ser construídas usando as seguintes peças:
Ele fornece modelos que são atualizados automaticamente quando seus modelos de dados o fazem. Isso normalmente é feito usando Backbone.js , Ember.js , Knockout.js ou outra ferramenta.
As mensagens cliente / servidor são feitas via websockets usando algo como socks.js ou socket.io .
A conexão do lado do cliente com o MongoDB é muito legal. Ele replica o driver do servidor MongoDB no cliente. Infelizmente, pela última vez que verifiquei, eles ainda estavam trabalhando para proteger essa conexão de banco de dados.
A compensação de latência é simplesmente atualizar o modelo do lado do cliente primeiro e, em seguida, enviar a atualização para o servidor-servidor.
Pode haver outras peças interessantes que você pode encontrar no site do Meteor ou no GitHub .
fonte
Conforme mencionado na documentação do Servidor Meteor, Meteor é uma implementação do Comet . Cometa, por sua vez, é uma contraparte do AJAX .
No caso do AJAX, você geralmente faz uma solicitação quando o cliente vê a necessidade de fazê-lo. Para obter atualizações do servidor, você precisará ligar para o servidor, por exemplo. a cada 5 segundos.
No caso do Comet, a atualização do servidor é mais rápida, pois a conexão é persistente. A conexão é estabelecida pelo cliente, como em AJAX, mas o servidor não responde até que haja alguma atualização ou alcance o limite de execução (scripts no servidor podem ter limites de execução).
No caso do Meteor, você apenas obtém um fluxo constante de dados que precisa de algum código específico do lado do servidor (como Servidor Meteor) e código apropriado no cliente (neste caso, parece que é a classe Meteor).
fonte
Toda a mágica com a atualização de dados ao vivo está acontecendo por causa do sistema de rastreamento de dependência. Uma explicação de como ele funciona pode ser encontrada na seção Tracker da documentação.
fonte