O Firestore é uma boa solução de banco de dados escalonável para manter os dados sincronizados entre os clientes da Web.
Para muitos aplicativos, o suporte off-line gerenciado do Firestore é especialmente importante, permitindo que você crie aplicativos responsivos que funcionem independentemente da latência da rede ou da conectividade com a Internet. Mas os SDKs ricos em recursos têm um custo de tamanho. O que o Firebase oferece para aplicativos que precisam apenas usar operações básicas de criação, leitura, atualização e exclusão e não precisam de suporte offline gerenciado?
Solução: Firestore Lite
O Firestore Lite é um Firestore SDK leve e autônomo somente para REST que oferece suporte a buscas de documentos únicos, execução de consultas e atualizações de documentos, em uma fração do tamanho normal do SDK da Web. O Firestore Lite omite a compensação de latência, o cache off-line, a retomada de consultas e os ouvintes de instantâneos, 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 abalável em árvores.
O seguinte estilo de importação é suportado.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Recursos de API incompatíveis com o Firestore Lite
Para tamanho e velocidade, o Firestore Lite omite estes recursos do Firestore SDK padrão:
- Manipuladores de eventos DocumentSnapshot . O método
onSnapshot
e os objetosDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
eUnsubscribe
não estão incluídos. - Auxiliares de persistência . Os
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.
Implemente 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. Os casos de uso para adicionar dados 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 abrir mão dos recursos de cache e persistência off-line padrão do SDK do Firestore. Você deve entender esses recursos antes de decidir trocá-los pela menor sobrecarga do Firestore Lite. Em geral, pondere esses 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 possuem conectividade.
- Restrições de tamanho - Firestore Lite é ótimo se você deseja reduzir o tamanho geral do pacote JavaScript.