Cloud Firestore Lite Web SDK

Firestore adalah solusi database yang skalabel dan cocok untuk menjaga data tetap sinkron di seluruh klien Web.

Untuk banyak aplikasi, dukungan offline terkelola dari Firestore sangatlah penting. Dengan dukungan ini, Anda dapat mem-build aplikasi yang responsif dan tetap berfungsi terlepas dari faktor latensi jaringan atau konektivitas internet. Namun, SDK yang memiliki fitur lengkap ini harganya tidak murah. Apa yang ditawarkan oleh Firebase untuk aplikasi yang hanya perlu menggunakan operasi pembuatan, pembacaan, update, dan penghapusan dasar, dan tidak memerlukan dukungan offline terkelola?

Solusi: Firestore Lite

Firestore Lite adalah Firestore SDK khusus REST yang ringan dan mandiri yang mendukung pengambilan satu dokumen, eksekusi kueri, dan pembaruan dokumen, dengan ukuran yang lebih kecil dari Web SDK standar. Firestore Lite menghilangkan kompensasi latensi, pembuatan cache offline, kelanjutan eksekusi kueri, dan pemroses snapshot, tetapi untuk kasus penggunaan tertentu, pengurangan ukuran library dan waktu startup dapat menghasilkan keseimbangan yang baik.

Mengimpor Firestore Lite

Firestore Lite tersedia melalui npm sebagai bagian dari SDK modular. Firestore Lite ini sepenuhnya modular dan dapat di-tree-shaking.

Gaya impor berikut didukung.

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

Fitur API yang tidak didukung oleh Firestore Lite

Untuk ukuran dan kecepatan, Firestore Lite menghilangkan fitur berikut dari Firestore SDK standar:

  • Pengendali peristiwa DocumentSnapshot. Metode onSnapshot serta objek DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions, dan Unsubscribe tidak disertakan.
  • Helper persistensi. Metode enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence, dan clearIndexedDbPersistence tidak disertakan.
  • Paket Firestore. Metode loadBundle dan metode terkait, serta objek LoadBundleTask dan LoadBundleTaskProgress tidak disertakan.

Mengimplementasikan pengambilan, kueri, dan pembaruan dokumen

Setelah mengimpor Firestore Lite, Anda dapat menggunakan semua fungsi "get" pada API yang sudah dikenal dan memperbarui panggilan. Kasus penggunaan untuk menambahkan data dan mendapatkan data semuanya berlaku.

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');

Kapan Firestore Lite digunakan

Mungkin sulit untuk memutuskan kapan harus menghentikan persistensi offline dan fitur caching dari Firestore SDK standar. Anda harus memahami fitur tersebut sebelum memutuskan menggantinya dengan Firestore Lite yang memiliki kemampuan lebih rendah. Secara umum, pertimbangkan faktor berikut saat Anda memutuskan apakah akan menggunakan Firestore Lite atau tidak:

  • Status online - Firestore Lite cocok untuk aplikasi yang tidak memerlukan update langsung dan memiliki konektivitas.
  • Batasan ukuran - Firestore Lite adalah solusi yang bagus jika Anda ingin mengurangi ukuran paket JavaScript secara keseluruhan.