Como funciona o Firebase?
Os serviços do tipo Firebase são uma mistura de:
- armazenamento de dados não-sql (como MongoDB)
- pub/sub server (como Redis)
- web-sockets habilitado servidor front-end
- biblioteca do lado do cliente
Todos os dados funcionam como pub/sub, então não existe esse conceito de "consulta", você apenas diz no que está interessado e então você recebe mensagens que descrevem os dados.
Abordagem REST:
-> dá-me a lista de utilizadores
- luke, obi, leila, darth
[stop]
PUB/SUB Abordagem:
-> i'm interessado na lista de utilizadores
>- luke
>- obi
>- leila
>- darth
[.... esperar por ele ...]
>- yoda
[... esperar por ele ...]
-> i'm não estou interessado em mais nada
[stop]
O importante é que em serviços tipo Firebase- os dados se movem para cima e para baixo de um canal web-socket que é permanente e full-duplex.
Você é capaz de receber muitas mensagens pequenas ao invés de baixar grandes pedaços de dados (isso melhora a reatividade da sua aplicação!)
Obrigado a web-sockets essas mensagens são empurradas para o cliente para que não haja necessidade do usuário recarregar ou atualizar o aplicativo.
A desvantagem dessa implementação é que envolve muitas tecnologias para trabalhar em conjunto (e para ser configurado e mantido!)
Isso's por que serviços como o Firebase oferecem uma boa simplificação de uso... dado que você poderia pagar o preço!