SDK Web do Cloud Firestore Lite

Firestore é uma boa solução de banco de dados escalonável para manter os dados sincronizados entre clientes da Web.

Para muitos aplicativos, o suporte off-line gerenciado do Firestore é especialmente importante, permitindo criar aplicativos responsivos que funcionam independentemente da latência da rede ou da conectividade com a Internet. Mas SDKs ricos em recursos têm um custo de tamanho. O que o Firebase oferece para apps que só precisam usar operações básicas de criação, leitura, atualização e exclusão e não precisam de suporte off-line gerenciado?

Solução: Firestore Lite

O Firestore Lite é um Firestore SDK leve e independente, somente REST, que oferece suporte a buscas de documentos únicos, execução de consultas e atualizações de documentos, por uma fração do tamanho normal do Web SDK. O Firestore Lite omite compensação de latência, cache offline, retomada de consulta e ouvintes de snapshots, mas para casos de uso específicos, as reduções no tamanho da biblioteca e no tempo de inicialização são uma grande compensação.

Importar Firestore Lite

O Firestore Lite está disponível via npm como parte do SDK modular . É, portanto, totalmente modular e agitável em árvore.

O seguinte estilo de importação é suportado.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

Recursos de API não suportados pelo Firestore Lite

Em termos de tamanho e velocidade, o Firestore Lite omite estes recursos do Firestore SDK padrão:

  • Manipuladores de eventos DocumentSnapshot . O método onSnapshot e DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions e Unsubscribe não estão incluídos.
  • Ajudantes de persistência . Os métodos enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence e clearIndexedDbPersistence não estão incluídos.
  • Pacotes do Firestore . O método loadBundle e métodos relacionados e os objetos LoadBundleTask e LoadBundleTaskProgress não estão incluídos.

Implementar buscas, consultas e atualizações de documentos

Depois de importar o Firestore Lite, você pode fazer todas as chamadas familiares de obtenção e atualização da API. Todos os casos de uso para adicionar e obter dados se aplicam.

import {
 getFirestore,
 getDoc,
 updateDoc,
 doc
} from '@firebase/firestore/lite';

const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');

Quando usar o Firestore Lite

Pode ser complicado decidir quando abandonar os recursos de cache e persistência off-line padrão do SDK do Firestore. Você deve compreender esses recursos antes de decidir trocá-los pela menor sobrecarga do Firestore Lite. Em geral, pondere estes fatores ao decidir se deve usar o Firestore Lite:

  • Status online – Firestore Lite é bom para aplicativos que não precisam de atualizações ao vivo e têm conectividade.
  • Restrições de tamanho – o Firestore Lite é ótimo se você deseja reduzir o tamanho geral do pacote JavaScript.