Firebase Overview

Doílio Abel Matsinhe
GDG Maputo
6 min readAug 5, 2018

--

O Firebase é uma plataforma de desenvolvimento de aplicativos para dispositivos móveis e da web desenvolvida pela Firebase, Inc. em 2011 e adquirida pelo Google em 2014.

O Firebase surgiu pela necessidade que havia de tornar possível a criação de aplicativos de forma mais rápida e fácil, pois desenvolvedores gerenciavam diversas ferramentas e criavam infraestruturas em vez de focarem-se na criação dos seus próprios aplicativos. Isto consumia lhes muito tempo e recursos.

Algumas tecnologias do firebase

O Firebase esta dividido em 4 partes nomeadamente: Analytics, Develop, Grow & Earn.

Analytics

Firebase Analytics

O Firebase Analytics é uma parte central do Firebase que unifica todas as tecnologias supracitadas.
Ele é capaz de detectar e fornecer informações sobre: Quem usa os nossos aplicativos, como os usuários se comportam e de onde eles vêm.
Ele foi criado do zero para apoiar o desenvolvimento de aplicativos, pela equipe que criou o Google Analytics.

Analytics: Stream View

O StreamView faz parte do Analytics, ele oferece uma transmissão de dados em tempo real, visualizados em uma nova interface do usuário.
Ele é capaz de detalhar e filtrar por Local, Eventos ou Propriedades do Usuário!
Ex: Sabermos quantos usuários em Moçambique já passaram nível 5 de um jogo desenvolvido por nós.

Analytics: Debug View

O DebugView oferece uma linha de tempo de eventos que estão sendo enviados do nosso dispositivo de desenvolvimento. Podemos detalhar cada evento e examinar as suas propriedades e seus valores.
Ele também sinaliza caso encontre qualquer erro de sintaxe, como por exemplo: nomes muito longos ou caracteres inválidos, para que possamos corrigi-los imediatamente. É uma ferramenta importante, pois configurar e pôr o analytics a correr logo de primeira nem sempre é uma tarefa fácil.

Analytics: Big Query Integration

O BigQuery é um data warehouse hospedado na nuvem, no qual podemos fazer análises de dados usando Queries SQL.
A partir do Firebase, podemos configurar uma exportação de dados brutos do Google Analytics para o BigQuery.

O BigQuery também está conectado ao Data Studio, que permite criar relatórios e visualização de dados de forma personalizada.

Develop

Firebase Realtime Database

A Realtime Database É uma base de dados em tempo real hospedada na nuvem que usa as linguagens NoSQL e JSON. Quando os dados são enviados para esta base de dados, eles são sincronizados entre os dispositivos em fracção de milissegundos. Por ser em tempo real, permite-nos criar aplicativos mais ricos e colaborativos.

Firebase Authentication

A maioria dos aplicativos hoje em dia exigem que um usuário faça login, para que eles possam fornecer uma experiência de usuário personalizada.
O Firebase Authentication permite isso e possui suporte integrado para autenticação com:
- Email e senha de login
- Login do Google, Facebook, Twitter e GitHub.

Ele também pode se integrar a qualquer conta de usuário existente.
O Firebase Authentication também tem uma biblioteca open source para interface do usuário e também está integrado a outros recursos do Firebase como por exemplo a base de dados.

Firebase Cloud Functions

O Cloud Functions faz parte da Google Cloud Platform, permite escrever e implantar código que responde a eventos do Google Cloud Services. Permite com que todo o nosso código fique armazenado nos servidores da Google(Mantendo a lógica da nossa App centralizada e segura) sem a necessidade de gerirmos nossos próprios servidores. resumindo oferece-nos uma Arquitectura Serverless.

Firebase Hosting

O Firebase Hosting permite-nos armazenar ficheiros estáticos como: HTML, CSS, JavaScript, Imagens, etc.
Permite-nos ter domínios personalizados, o conteúdo é disponibilizado por meio de um CDN global para baixa latência e criptografado com SSL por padrão.
Por estar integrado com o Cloud Functions, permite-nos criar páginas dinâmicas com maior facilidade.

Firebase Storage

Firebase Storage permite fazer o upload e o download de arquivos gerados pelos utilizadores, e gerência conexões de rede fracas.
Ele usa o Google Cloud Storage, que permite o armazenamento em cache de borda global.
Como a Realtime Database, ele pode ser acessado diretamente de um aplicativo sem a necessidade de um servidor de aplicativos.

Firebase Crash Reporting

O Crash Reporting(Actual Crashlytics) Ajuda-nos a diagnosticar e a resolver erros nos nossos aplicativos após eles terem sido implantados. Quando ocorre algum erro uma mensagem e enviada para o desenvolvedor em forma de relatório mostrando exactamente que linhas do nosso código estão a causar o devido erro.

Firebase Performance Monitoring

Performance Monitoring complementa o Crash Reporting, ajudando o desenvolvedor a entender quando e onde o desempenho do aplicativo pode ser melhorado.
Ele monitora: tempo de inicialização, renderização de dados pela tela, actividade em primeiro plano, actividade em segundo plano e solicitações de rede HTTP/S.

Firebase Test Lab

Diferente do Crash Reporting, o Test Lab testa os aplicativos antes dos mesmos serem implantados, bastando para isso o desenvolvedor fazer upload do “APK” e um “Robocrawler” automaticamente corre o aplicativo a procura de erros e problemas de desempenho.
Caso encontre, envia um relatório e um video com os passos que levaram a ocorrência do tal erro. Para que o desenvolvedor possa replicar e corrigi-lo com maior facilidade.

Por Concluir na Parte 2

Esta foi uma parte do conteúdo por mim apresentado aos 04.08.2018 no evento organizado pelo GDG Maputo com o titulo: Next ’18 Extended Maputo, para quem quiser aprofundar mais no Firebase deixo aqui 3 Links que serão muito úteis:

O artigo acabou ficando meio longo, por este motivo continuarei logo a seguir com os Serviços: Grow e Earn.
Agradeço por terem lido, espero que tenha sido útil para quem esteve presente, e para os que não puderam participar desta vez, agradeço a MozDevz pela iniciativa. Para Sugestões, criticas, podem encontrar me em Instagram, Twitter, Linkedin, Github.

--

--

Doílio Abel Matsinhe
GDG Maputo

Associate Android developer| PC Gamer| Tech Lover From Mozambique