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
eDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
eUnsubscribe
não estão incluídos. - Ajudantes de persistência . Os métodos
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
eclearIndexedDbPersistence
não estão incluídos. - Pacotes do Firestore . O método
loadBundle
e métodos relacionados e os objetosLoadBundleTask
eLoadBundleTaskProgress
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.