quinta-feira, 23 de março de 2017

Hospedagem com o Firebase

O Firebase é uma opção bastante simples de se utilizar, especialmente se você estiver montando MVP ou quer disponibilizar um teste rápido na Web. Com a ideia de ser serverless (facilitar a vida do desenvolvedor em não criar um backend), simplifica-se o desenvolvimento de cenários sem necessidades de recursos além de armazenamento por exemplo.

Toda as funcionalidades da hospedagem estão listadas em Firebase Hosting:

  • Atendimento em uma conexão segura (SSL configurado por padrão, o que já atende em protótipos de Progressive Web Apps)
  • Entrega rápida de conteúdo (por usar SSD e CDN parar entrega ao usuário)
  • Implementação rápida com o uso de  Linha de comando
  • Reversões com um clique, mantendo históricos de atualizações
  • Versão de entrada gratuita, independente de tempo. Para ver mais detalhes veja em Firebase Princing.
  • Importante: Hospedagem limitada a conteúdo estático. Ou seja, nada de rodar sua aplicação web com Node.Js por exemplo

Linha de comando

Os comando do Firebase CLI podem ser conhecidos em Referência da Firebase CLI

Instalando o Firebase CLI:

  1. É necessário ter o Node.Js instalado
  2. Instalar o módulo : npm install -g firebase-tools

Um resumo para colocar um site em produção seria:

  1. firebase init (Cria a aplicação, com perguntas em passo a passa)
    1. Por padrão, a aplicação acessa o um subdiretório public
  2. firebase serve (Inicia um servidor local web, para testar a aplicação)
  3. firebase deploy (Para publicar a aplicação)
    1. É possível utilizar o argumento –only para orientar a configuração direcionada a hosting, database e storage

O Firebase ainda oferece serviços para Armazenamento e Base de Dados.

É simples e não é bala de prata! Se sua aplicação precisa de escalar conheça quem começou com o MVP no Firebase e teve dificuldades depois. Veja o post Reasons Not To Use Firebase e uma boa resposta da pergunta When is Firebase not a good choice? no Quora para entender até quando utilizar o Firebase.