Saiba como ler/gravar dados usando o Firebase e Real Database
Portal TDevRocks > Notícias > Quer saber como ler e gravar dados usando o Google Firebase e o recurso Real Database?
Nós já comentamos aqui no artigo Programação Intensiva, deixe essa ideia entrar na sua cabeça! sobre o evento Intensive Delphi que ocorre todos os anos no mês de Dezembro. O evento reúne diversos profissionais palestrando sobre assuntos bastante interessantes. O nosso CEO Adriano Santos por exemplo falou em 2016 sobre o Google Firebase, um serviços BassS (Backend as a Service) gratuito e extremamente útil na hora de criar seus protótipos ou mesmo criar produtos finais com ele. Adriano mostrou o quão simples é trabalhar com a ferramenta utilizando Delphi e JSON para armazenar e recuperar informações no serviço do Google.
Como comentado mais acima, o Google Firebase é um serviço BassS que pode ser utilizado para diversas utilidades. Ele possui uma gama de recursos importantes que podem fazer parte de seu produto final e enriquece-lo ainda mais. Se você precisa enviar notificações Push, ter um banco de dados RESTFull nas nuvens, armazenar arquivos e até mesmo facilitar o desenvolvimento de seu aplicativo de maneira fácil e eficaz, o Google Firebase é a solução definitiva.
Na palestra de Adriano logo abaixo, ele mostra como utilizar a classe uCComunicacao.pas, desenvolvida pelo MVP Newton e disponível no GitHub do Portal TDevRocks juntamente com outras tantas classes e exemplo. A classe facilita o acesso ao Firebase e isso é ótimo, pois há algumas validaçõe e métodos que precisam ser escritos. O legal de tudo isso é que podemos facilmente criar aplicativos capazes de ler e escrever no recurso Real Database, que é o recurso de banco de dados RESTFull do Firebase.
Para facilitar ainda mais o trabalho, o radizeiro Thulio Bittencourt desenvolveu um componente totalmente intuitivo que visa descomplicar aquilo que já é fácil, ou seja, vais fazer isso com o pé das costas. O componente de Thulio faz parte de uma suíte de componentes que abstraem características de conexão com diversos bancos de dados e servços. Você encontra a suíte completa em seu link do Github. Nela está contida o componente TBGFirebaseConnection que foi inclusive apresentado no Code Rage Brasil nessa semana.
Apenas para que tenha uma noção bastante superficial, mas de extrema importância para o complemento desse artigo. Vejamos um pequeno exemplo de como trabalhar com o componente.
Exemplo de uso do componente TBGFirebaseConnection
O componente é extremamente simples. No exemplo criamos uma janela simples com dois TButtons, um TEdit e um TDBGrid. Como complemento adicionamos o componente do Firebase acompanhado de um TFDMemTable e um TDataSource. Já deu para ter uma ideia do que faremos certo? Pois bem, lincamos o DBGrid ao DataSource que por sua vez está associado ao MemTable. A ideia é simples, fazer uma consulta ao servidor do Firebase, receber os dados e "popular" um MemTable. Dessa forma podemos visualizar e manipular seu conteúdo facilmente.
Para efetuar a conexão e a requisição dos dados no Firebase, usamos o seguinte método:
procedure TForm3.btnLerClick(Sender: TObject);
TBGFirebaseConnection1
.BaseURL('https://checkapp-47d80.firebaseio.com/')
.Auth('anonymous')
.uId('')
.&End
.DataSet(FDMemTable1)
.Resource(Edit1.Text)
Repare que estamos utilizando "Programação Funcional" que é parte do curso Delphi Updates do Thulio, algo que precisa ser visto de perto e com certeza você não vai querer programar de outra forma. A programação é extremamente simples, primeiro nós conectamos ao projeto criado no Firebase através do link fornecido pelo site. Em seguida chamamos o método Get do componente passando para ele o MemTable que receberá os dados e o conteúdo do Edit1, que possui o recurso a ser consumido no lado servidor, ou seja, qual o "nó" do JSON que será usado. Fazendo um analogia, o nó pode ser visto como uma "tabela".
A gravação dos dados também é muito simples e não exige nenhum grande conhecimento. Veja o método abaixo:
procedure TForm3.btnGravarClick(Sender: TObject);
_JSON2 =
'{                                            ' +
'  "usuarios":{                               ' +
'  	  "teste": {                          ' +
'  	  	"nome":"Joana"                     ' +
'  	  }                                      ' +
'  }                                          ' +
'}                                            ';
.Resource('usuarios')
.Json(_JSON2)
.&End;
Como pode notar, conectamos novamente ao serviço do google e dessa vez utilizamos o método Put para gravar a informação. Para alterar um dado, precisamos chamar o método Patch que não será abordado aqui devido sua simplicidade. Não é mesmo fácil?
Intensive Developer 2018, última chance para comprar no 1o. lote
Isso foi só uma pontinha do Iceberg que você vai ver se vier conosco ao Intensive Developer 2018. Mas me diga, o que acha da ideia de elevar seu nível de profissionalismo e se tornar uma excelência em desenvolvimento de software? Melhorar sua experiência com gerenciamento de projetos? Abrir novas frentes de trabalho usando técnicas Agile? Pois essa é a proposta do Intensive Developer. Não só nessa pegada, mas também como empreendedor. Pare de digitar If..Then…Else e comece a mudar de vida.
Ver você crescer e melhorar não tem preço, assim como não tem preço ter uma vida melhor. Portanto, o seu investimento hoje é extremamente baixo tendo em vida o que vai acontecer na sua vida.
Só que hoje é o último dia para comprar seu ingresso no 1o. lote do Intensive Developer 2018. O evento que vai mudar sua história. Então se não quer perder esse mega desconto, adquira hoje.