1.2 新手第一周:项目、计费模式与上手路线

注册与建项目:把心态摆正

第一步没什么悬念:一个 Google 账号,进 Firebase 控制台,建项目。但这里有几个心得值得先说在前面。

项目即容器。 Firebase 里的项目是一个大容器,登录、数据库、存储、函数都装在里面,共享安全规则和计费额度。我的一般做法是:一个应用一个项目,哪怕它只是个练手的小玩意。常见的新手姿势是所有东西都塞进一个项目里,结果练手项目和生产项目混在一起,测试数据污染真实数据,想清理都无从下手。项目之间是天然隔离的,这个隔离层不用白不用。

地区(region)第一天就要想好。 建 Firestore 数据库、部署云函数时都会让你选地区。我的经验是:面向哪里的用户多,就把数据和函数放在离他们近的地区。更关键的是——地区建完之后不好改,改起来等于迁移一遍数据。很多新手随手选了一个默认项,等用户涨起来发现延迟偏高,再想挪地方就痛苦了。这个决定做一次就定型,值得花五分钟想一想。

别一上来就绑卡。 Firebase 有两档计费:Spark 免费计划和 Blaze 按量计划。免费计划有配额上限,练手够用;Blaze 要绑卡,按量付费。第一周完全不需要碰 Blaze,先把免费额度内的东西跑通。

Spark 与 Blaze:两种计费心态

这两档计划不是简单的免费和付费,背后是两种心态:

  • Spark 心态:我在学习、在做原型,用量天然很小,免费额度就是我的天花板,超了就说明该挪窝了。适合开发期、测试期、个人小工具。
  • Blaze 心态:我准备上真实用户了,要解锁全部能力(比如部分云函数场景、出站网络),接受按量计费,但必须配预算防线——这个防线怎么搭,第一篇第 4 节专门讲。

具体哪些功能只在 Blaze 下可用、每档配额是多少,变化比较频繁,我不在书里写死,一律以官方定价页为准。但有一条判断原则不会变:上 Blaze 的时机不是“注册完顺手升级”,而是“功能跑通了、准备见真实用户了”。 免费额度用着用着发现不够了,这本身是个好消息,说明你的项目在长大。

第一周路线:登录 → 数据库 → 托管

新手最容易犯的错是想一口吃成胖子:第一天就要把推送、云函数、A/B 测试全配齐。我的建议是按一条最短路径走,先跑通最小闭环再说。

最小闭环就三件事:用户能登录(Authentication)、数据能存取(Firestore)、页面能访问(Hosting)。这三样通了,你的应用就是个“真应用”了——用户有身份、有数据、打得开。推送、函数、分析这些,都是在骨架上长肉。

第一天的实操顺序我一般是:控制台建项目 → 注册 App → 开 Authentication 选一个登录方式(邮箱密码最简单)→ 建 Firestore(想好地区)→ 本地接 SDK 把登录写通。第一天别贪多,登录通了就是胜利。

第一天到第七天:上手节奏表

天 目标 关键动作 心得提醒
第一天 项目骨架 建项目、注册 App、接 SDK 项目名起规范,地区选好就别动
第二天 登录跑通 开 Authentication,写通邮箱登录 注册、登录、退出、找回密码四件套都过一遍
第三天 数据存取 建 Firestore,写通增删改查 花半小时看懂数据模型:集合、文档、子集合
第四天 安全规则 给 Firestore 配读写规则 默认规则不是摆设,第一天就配,别裸奔
第五天 页面上线 用 Hosting 部署前端 配好 HTTPS,用预览链接在手机上试试
第六天 数据联动 前端读写真实 Firestore 加实时监听,感受数据一改页面就动
第七天 收尾复盘 加 Emulator Suite 本地调试 评估下一步:上 Blaze、加推送,还是先打磨

几点节奏上的补充心得:

  • 模拟器早用早享受。 Emulator Suite 能在本地模拟 Authentication、Firestore、Functions 等服务,调试不用消耗线上配额,也不怕误操作污染真实数据。第七天装上它,之后每天的开发体验都会好一截。
  • 实时监听是双刃剑。 第六天你会接触到 Firestore 的实时监听,写起来很爽,但它是按读取量计费的。监听怎么写才不烧钱,第一篇第 4 节会展开。
  • 别急着删免费计划。 见过不少人第一天就升 Blaze,理由是“反正要上线”。结果项目没做完,卡绑定着,每月多一笔说不清的支出。我的原则:Spark 能撑一天,就多撑一天。

第一周结束时,你应该有什么

七天走完,理想的产出是一个部署在 Hosting 上的网页:有邮箱登录、有 Firestore 数据的读写和实时更新、有基本的安全规则、本地有模拟器可以安心调试。这个骨架看起来朴素,但它就是后面所有功能的地基——往上面加推送、加云函数、加分析,都是增量动作了。

下节课我们聊一个更根本的问题:什么样的项目适合这么干,什么样的项目Firebase 反而帮倒忙。