Firebase 应用开发平台

Firebase

做手机应用时最麻烦的那堆后端功能,它都替你做好了,你只管写界面。

开发与运维出现时间 · 2011基础功能有免费额度;用量超出后按读写次数、存储与流量计费,按需升级。后端即服务实时数据库云函数应用托管
看官方文档

01 它是干嘛的

Firebase 是给应用开发者用的一套「后端即服务」工具:数据库、账号登录、文件存储、推送通知、崩溃统计、应用托管、云函数一应俱全。它解决的是「做一个 App 除了写界面,还得单独搭一整套服务器」这个负担,让一个人或小团队也能快速做出功能完整的产品。

02 为什么会有它

2011 年之前:写一个手机应用,一半时间花在后端上

做应用的人很快会撞上一堵墙:界面写完了,可数据存哪里、用户怎么注册登录、图片放哪、消息怎么推给用户、崩溃了怎么知道,这些和业务无关却又必须做的事,占掉了大半时间。为了这些,团队得自己租服务器、写接口、配数据库、做安全防护,一个三五个人的小团队,光搭后端就耗掉几个月。

更麻烦的是「实时」。比如聊天或多人协作的场景,用户发一条消息,其他人要马上看到,就得自己实现一套长连接与推送机制,还要处理断线重连、离线消息,技术门槛不低。

Firebase 最初的切入点正是实时数据同步:数据一改,所有连着这个应用的设备立刻收到更新,开发者不必自己写这套机制。2014 年被谷歌收购后,它逐步补齐了登录、存储、推送、统计、崩溃报告、云函数等一整套后端能力,打包成开箱即用的服务。开发者只写前端逻辑,需要什么后端能力就打开哪个功能,做产品的门槛因此大幅降低。

03 它怎么工作

应用直接连到平台的数据服务,数据变化会被实时推送给所有订阅它的客户端;需要跑服务端逻辑时,由事件触发云函数执行,开发者不必自己管理任何服务器。

函数计算:有事件才运行,没人用不花钱① 事件触发按并发自动扩② 读写外部状态HTTP 请求用户点了一下按钮消息队列有新消息进来定时任务每天凌晨触发你的函数只写业务逻辑自动扩缩1 个请求也是 1 个实例数据库 / 存储状态存在外面日志与监控每一次调用都有记录没有请求的时候,实例数就是 0;因此不为闲置的服务器付钱。被执行时才存在弹性能力
注意左侧「客户端直接连数据服务」的连线和中间「事件触发函数」的箭头:没有需要你自己运维的服务器,这就是「后端即服务」的核心。

数据一改,所有设备立刻看到:事件驱动的后端是怎么运作的

  1. 1
    ① 客户端直接读写数据

    应用通过官方开发包直接与数据服务通信,不必自己写一套接口做中转,省掉整个后端 API 层。

  2. 2
    ② 数据变化实时推送

    当一份数据被修改,订阅了它的所有设备立刻收到通知并更新界面,聊天、协作类功能因此很容易实现。

  3. 3
    ③ 事件触发云函数

    需要在服务端做的事(如注册后发欢迎邮件、下单后扣库存),通过监听数据库变化或接口调用触发一段函数,在云上执行。

  4. 4
    ④ 按安全规则控制权限

    用声明式规则规定「谁能读、谁能写哪些数据」,保证即使客户端代码被篡改,也不能越权访问别人的数据。

  5. 5
    ⑤ 托管与发布前端

    前端页面可直接托管在平台上,配合云函数构成完整应用,一条命令即可发布上线并自动获得全球加速。

04 谁在用它

快速做出 MVP

小团队或个人开发者几天内做出可用的产品原型,先验证想法,再决定要不要投入更多。

实时聊天与协作功能

消息、评论、在线状态等需要即时同步的场景,用实时数据能力直接实现。

用户账号与登录

支持邮箱、手机号与第三方账号登录,省去自己实现整套认证体系的麻烦。

推送通知与用户触达

向特定用户群发送消息提醒,提升留存与活跃。

应用质量监控

收集崩溃报告与用户行为统计,快速定位线上问题并了解功能使用情况。

05 怎么用

需要一点前端开发基础,从建项目到跑通第一个功能大约半天。

  1. 01在控制台创建一个项目,按引导把它与你的应用关联,获得配置信息。
  2. 02在应用里引入官方开发包并完成初始化,此时已能访问到平台各项能力。
  3. 03打开需要的功能:数据存储、账号登录、文件存储等,按需启用,不必全部用上。
  4. 04编写安全规则,明确谁能读写哪些数据,这是上线前必须完成的关键一步。
  5. 05需要服务端逻辑时写一段云函数并部署;前端则可直接用命令行工具发布托管。
初始化并读写一份数据(示意)js
import { initializeApp } from 'firebase/app'
import { getFirestore, collection, addDoc, getDocs } from 'firebase/firestore'

const app = initializeApp({
  apiKey: process.env.FIREBASE_API_KEY,
  projectId: 'my-project'
})

const db = getFirestore(app)

// 写入一条留言
await addDoc(collection(db, 'messages'), {
  text: '你好,Firebase',
  createdAt: Date.now()
})

// 读取全部留言
const snap = await getDocs(collection(db, 'messages'))
snap.forEach((doc) => console.log(doc.id, doc.data()))

避坑提示

  • !安全规则必须认真写,默认放开的规则等于把数据库公网裸奔,任何人都能读走数据。
  • !实时同步听着省事,但订阅过多数据会显著增加费用与耗电,只订阅界面真正需要的部分。
  • !用量按读写次数与流量计费,一个写得很随意的查询可能悄悄产生大量费用,上线后要盯紧用量。

06 关键概念

后端即服务(BaaS)
把数据库、登录、存储等后端能力做成一开即用的云服务,开发者不必自己搭建服务器。
实时数据库
数据一变化就自动推送给所有相关设备,适合聊天、协作这类需要即时同步的场景。
云函数
不用自己管理服务器,写一段代码上传,由事件触发执行。
安全规则
声明式地规定谁能读写哪些数据,是保护数据不被越权访问的关键设置。

07 容易混淆的对比

Supabase基于开源数据库的后端即服务,SQL 能力更强、可自托管,定位与 Firebase 正面竞争。
自建后端(Node/Java + 数据库)完全自主可控、无厂商绑定,但要自己承担开发、部署与运维的全部成本。
图软件图鉴

纯静态站点,无后端、无追踪。内容为中文原创撰写,用于帮助非技术读者理解主流软件产品。

关于本站

全部内容在构建时生成
产品名称与商标归各自公司所有

© 2026 软件图鉴Nuxt 4 · Vue 3 · Tailwind 4 · 纯静态