很多人只记得 Firebase “能存数据”,但真正让它体验有辨识度的,是:
- 实时同步
- 离线支持
#1. Firestore 的实时监听
前面已经看到 onSnapshot()。
它本质上就是:
你订阅某块账本,一旦有变化,商圈广播系统主动推给你。
这和传统 REST 轮询完全不是一个心智。
传统做法像:
柜台每隔 5 秒问一次:
"有新订单吗?"
"有新订单吗?"
"有新订单吗?"Firebase 更像:
账本一改
广播系统立刻喊:
"3 号柜台,你关心的订单变了"#2. Firestore 离线支持
官方文档明确说,Cloud Firestore 支持离线持久化。 设备离线时,应用仍然可以:
- 读缓存
- 写本地更改
- 继续监听
- 恢复联网后再同步回云端
一个 Web 端持久化配置示意:
import { initializeApp } from "firebase/app";
import {
initializeFirestore,
persistentLocalCache,
persistentSingleTabManager
} from "firebase/firestore";
const app = initializeApp(firebaseConfig);
const db = initializeFirestore(app, {
localCache: persistentLocalCache({
tabManager: persistentSingleTabManager()
})
});这件事很重要,因为它意味着:
你的店员进地下车库没网了,账本不至于瞬间全失效。
#3. Realtime Database 仍然存在
这里要讲清楚一个常见混淆:
Firebase 不只有 Firestore,还有 Realtime Database。
Realtime Database 更像:
更直接的商圈广播树。
- JSON 树结构
- 同步很直接
- 老牌 Firebase 核心能力之一
- 离线和实时性也很强
但到 2026 的主流新项目语境里,Firestore 通常是更优先被推荐的默认主路径,因为它在:
- 数据模型
- 查询能力
- 可扩展性
- 多数现代产品场景
上通常更均衡。
所以你可以这样记:
Firestore
= 现代主账本 + 实时广播 + 离线缓存
Realtime Database
= 更老牌、更直接的实时广播树