SDK web Cloud Firestore Lite

Firestore là một giải pháp cơ sở dữ liệu có thể mở rộng quy mô tốt để đồng bộ hoá dữ liệu trên web khách hàng.

Đối với nhiều ứng dụng, tính năng hỗ trợ ngoại tuyến được quản lý của Firestore đặc biệt quan trọng, cho phép bạn tạo các ứng dụng thích ứng hoạt động bất kể độ trễ mạng Kết nối Internet. Tuy nhiên, các SDK giàu tính năng cũng phải đánh đổi bằng kích thước. Mục tiêu Firebase có cung cấp cho các ứng dụng chỉ cần sử dụng tính năng tạo, đọc, cập nhật cơ bản không và xoá các hoạt động mà không cần hỗ trợ ngoại tuyến được quản lý?

Giải pháp: Firestore Lite

Firestore Lite là một SDK Firestore độc lập, gọn nhẹ chỉ hỗ trợ REST, hỗ trợ tìm nạp từng tài liệu, thực thi truy vấn và cập nhật tài liệu, ở mức so với kích thước SDK Web thông thường. Firestore Lite bỏ qua phần bù độ trễ, lưu vào bộ nhớ đệm ngoại tuyến, tiếp tục truy vấn và trình nghe ảnh chụp nhanh, nhưng đặc biệt các trường hợp sử dụng, việc giảm kích thước thư viện và thời gian khởi động sẽ mang lại sự đánh đổi lớn.

Nhập Firestore Lite

Firestore Lite được cung cấp thông qua npm như một phần của SDK mô-đun. Đó là do đó hoàn toàn theo mô-đun và có thể rung cây.

Kiểu nhập sau được hỗ trợ.

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

Các tính năng API không được Firestore Lite hỗ trợ

Đối với kích thước và tốc độ, Firestore Lite loại bỏ những tính năng này khỏi phiên bản SDK Firestore:

  • Trình xử lý sự kiệnDocumentSnapshot. Phương thức onSnapshotDocumentChange, SnapshotListenerOptions, SnapshotMetadata Không bao gồm các đối tượng SnapshotOptionsUnsubscribe.
  • Trình trợ giúp liên tục. enableIndexedDBPersistence, Phương thức enableMultiTabIndexedDbPersistenceclearIndexedDbPersistence không được tính.
  • Gói khôi phục dữ liệu. Phương thức loadBundle và các liên quan còn các đối tượng LoadBundleTaskLoadBundleTaskProgress thì không bao gồm.

Triển khai tính năng tìm nạp, truy vấn và cập nhật tài liệu

Sau khi nhập Firestore Lite, bạn có thể làm cho tất cả API quen thuộc trở thành và cập nhật cuộc gọi. Các trường hợp sử dụng thêm dữ liệunhận dữ liệu đều được áp dụng.

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

Các trường hợp nên dùng Firestore Lite

Có thể khó quyết định khi nào nên bỏ SDK Firestore tiêu chuẩn lưu trữ cố định ngoại tuyến và lưu vào bộ nhớ đệm. Bạn cần nắm rõ các tính năng này trước khi quyết định đánh đổi chúng để có mức hao tổn thấp hơn của Firestore Lite. Ngang bằng nhìn chung, hãy cân nhắc các yếu tố sau đây khi quyết định có nên dùng Firestore Lite hay không:

  • Trạng thái trực tuyến - Firestore Lite phù hợp với các ứng dụng không cần phát trực tiếp cập nhật và có kết nối.
  • Hạn chế về kích thước – Firestore Lite là lựa chọn tuyệt vời nếu bạn muốn giảm kích thước tổng thể của gói JavaScript.