Firebase Emulator: Como usar Firebase sem ‘internet’ — Parte 1.
Já não precisas de ‘Net’ ao Dia!
Sobre mim
Antonio Pedro, desenvolvedor Flutter com 3+ anos de experiência em ‘apps’ empresariais, especializado em desenvolvimento móvel full-stack, multiplataforma e em nuvem. Bacharel em Ciência da Computação, undergraduate researcher no MIDAS Lab e premiado em hackathon da Devexperts, OpenHack 2022.
Introdução.
Acha o Firebase legal? Firebase, e outros BaaS(Backend as a Service) oferecem milhares de benefícios para rápida e eficiente construção de aplicações mobile e web. Firebase é útil e uma boa opção principalmente para desenvolvedores mobile autónomos sem muito conhecimento sobre Backend development. Apesar da possibilidade em utilizar o Firebase gratuitamente, você precisará conexão à ‘internet’ para poder usufruir de todos os serviços que o mesmo oferece, e isso pode envolver custos monetários se você precisa construir a sua aplicação a longo prazo e ter que aceder sempre o Firebase Console.
Outrossim, no mundo do desenvolvimento de aplicativos, agilidade e eficiência são essenciais. É fundamental poder testar e depurar o código de forma rápida e precisa antes de implantá-lo num ambiente de produção. É aí que o Firebase Emulator entra em cena. O Firebase Emulator é uma ferramenta poderosa que permite simular e testar recursos do Firebase localmente, facilitando o processo de desenvolvimento e economizando tempo valioso. Neste artigo, exploraremos os recursos e benefícios do Firebase Emulator e como ele pode impulsionar a sua produtividade como desenvolvedor e minimizar custos com a ‘internet’.
O que é o Firebase Emulator?
O Firebase Emulator é uma parte integrante da plataforma Firebase do Google. Ele permite que os desenvolvedores testem e simulem serviços Firebase num ambiente local, sem a necessidade de implantação num servidor remoto. Com o Firebase Emulator, pode simular recursos como autenticação de utilizador, banco de dados em tempo real, armazenamento em nuvem e até mesmo funções do Cloud Firestore, entre outros.
Benefícios do Firebase Emulator:
- Agilidade no desenvolvimento: Com o Firebase Emulator, você pode testar e depurar o seu código localmente, sem precisar implantá-lo num ambiente de produção. Isso economiza custo e tempo valioso, pois você pode detetar e corrigir erros rapidamente, acelerando o processo de desenvolvimento.
- Ambiente controlado: Ao simular recursos Firebase localmente, você tem controle total sobre o ambiente de teste. Isso permite criar cenários específicos, injetar dados de teste e simular comportamentos para validar o funcionamento correto do seu aplicativo.
- Testes automatizados: O Firebase Emulator pode ser facilmente integrado a estruturas de teste automatizadas, como o Jest ou o Mocha. Isso significa que você pode escrever testes automatizados que usam o Emulator para simular serviços Firebase, garantindo a estabilidade e a qualidade do seu aplicativo.
- Colaboração simplificada: Com o Firebase Emulator, é fácil compartilhar configurações e cenários de teste com outros membros da equipa. Isso facilita a colaboração e garante que todos estejam a trabalhar num ambiente consistente.
Como começar
Agora que sabe o que é o Firebase Emulator e os seus benefícios, bora meter a mão na massa?
- Prepare o seu environment:
Primeiro passo, você precisa a versão recente do Firebase CLI.
2. Inicie um Firebase project no seu projeto:
firebase init
Precisará selecionar todas as ferramentas que precisa emular e, claro o Firebase Emulator também.
Consequentemente, precisará criar ou usar um projeto já existente.
Nos passos seguintes, precisará indicar quais ficheiros cogita usar para manter as suas regras para cada serviço selecionado. Atenção: Tenha certeza que os serviços selecionados estão configurados dentro do seu projeto no Firebase Console, caso contrário a inicialização falhará e receberá um erro como na imagem:
3. Configure o emulador
Após configurar todos os serviços que cogita usar localmente, você precisa configurar emulador para cada um dele.
Para cada serviço selecionado, o emulador gerará diferentes dashboards que podem ser acessados através do seu navegador e rodando localmente na sua máquina. O firebase CLI sugerirá portas disponíveis na máquina e dará também a possibilidade de você introduzir a sua própria porta, eu prefiro deixar tudo no default.
Após término, você pode consultar a configuração de cada serviço e emulador em diferentes ficheiros que o Firebase CLI gerou para si.
Os ficheiros com o sufixo “.rules” mantêm as regras de leitura e escrita para cada respetivo serviço selecionado: database.rules.json, firestore.rules, storage.rules
Caso cogita alterar a porta de emulação de um serviço, pode fazer isso fazendo mudanças no ficheiro “firebase.json”. Este ficheiro contém um mapa entre os serviços emulados e as suas respetivas portas na máquina.
4. Comece os emuladores.
Depois de toda configuração, você precisa iniciar todos os emuladores, para isso, você precisa executar o seguinte comando no seu terminal:
firebase emulators:start
Output:
Conforme as imagens ilustram, agora pode executar e usar os serviços localmente na máquina usando os respetivos endereços:
Notas importantes
Caso pretenda iniciar um específico emulador, você pode usar a argumentos:
firebase emulators:start — only <serviço>
Exemplo:
Como simplesmente o emulador do firestore está a ser executado, você não conseguirá usar outro emulador:
Outra nota importante a ter-se em conta, é, os emuladores rodando localmente não significa que a sua aplicação vai automaticamente usar os recursos localmente. Para isso, você precisa indicar via código(no ambiente de desenvolvimento) que cogita usar os recursos localmente. No entanto, na segunda parte deste artigo, abordemos sobre como usar os recursos localmente no seu projeto mobile e ‘web’.
Conclusão
O Firebase Emulator é uma ferramenta poderosa para desenvolvedores que desejam acelerar o processo de desenvolvimento, permitindo testar e depurar serviços Firebase localmente. Com recursos avançados e uma integração perfeita com a plataforma Firebase, o Emulator oferece um ambiente controlado e eficiente para validar e aprimorar o seu código antes da implantação. Se não experimentou o Firebase Emulator, vale a pena explorar os seus recursos e descobrir como ele pode impulsionar a sua produtividade como desenvolvedor.
Follow me
YouTube: https://www.youtube.com/@antdev010
GitHub: https://github.com/antonio-pedro99
Facebook: https://www.facebook.com/ant.pedro42
Instagram: https://www.instagram.com/soulesslirio