发布于 2026-10-28 · 最后核实:2026-10-28 · 文中价格与额度以各官网为准
做一个需要登录的小应用,前端几天就能写完,真正拖住人的往往是后端:注册登录、数据库、图片上传、权限、服务器运维。一个人做,每样都自己搭,很容易还没上线就耗光热情。BaaS(Backend as a Service,后端即服务)就是为这种情况准备的。
结论先说:要关系型数据库、会写一点 SQL,选 Supabase;做原生移动应用、用户在海外,选 Firebase;想把成本压到一台几美元的 VPS、愿意自己运维,选 PocketBase;想要开源可自部署、同时有官方云服务兜底,选 Appwrite。用户主要在中国内地,不要选 Firebase。本文信息核实于 2026-10,免费额度和价格随时可能调整,注册前请以官网为准。
BaaS 是什么,能省掉什么
BaaS 把后端最常用的几块做成现成服务,前端或移动端用 SDK 直接调用:数据库(建表、增删改查,自动生成 API)、用户认证(邮箱密码、第三方登录)、文件存储、实时推送(数据变化客户端立刻收到),以及在服务端跑逻辑的函数。
省掉的是「搭服务器 + 写 API 层 + 自己做登录和权限」这部分工作。代价是数据和业务逻辑会和平台绑定,后面「厂商锁定」一节细说。
四家基础对比
| Supabase | Firebase | PocketBase | Appwrite | |
|---|---|---|---|---|
| 数据库 | Postgres(关系型,支持 SQL) | Firestore(文档型 NoSQL),另有 Realtime Database | 内嵌 SQLite(WAL 模式) | 默认 TablesDB;专用数据库可选 PostgreSQL、MySQL 等 |
| 认证 | 有,含社交登录、匿名登录、MFA | 有 | 有,支持 15 种以上 OAuth2 登录 | 有 |
| 文件存储 | 有 | 有(Cloud Storage) | 有,可存本地或 S3 | 有 |
| 实时 | 有 | 有 | 有(实时订阅) | 有 |
| 函数 | Edge Functions | Cloud Functions(需 Blaze) | 不支持云函数,改用 Go 或 JS 扩展 | Functions |
| 开源协议 | Apache-2.0 | 闭源服务 | MIT | BSD-3-Clause |
| 能否自部署 | 能(Docker) | 不能 | 只能自部署,官方不提供托管 | 能(Docker、Kubernetes) |
几点补充:
- PocketBase 是个人项目。官方 FAQ 写明它由作者业余维护,没有维护和支持承诺;只能单机纵向扩展,作者称一台约 $4 的 Hetzner VPS 可承载 1 万以上实时连接。仓库提醒 v1.0.0 之前不保证向后兼容。
- Firebase 的关系型选项。Firebase 也有基于 Cloud SQL for PostgreSQL 的 SQL Connect,免费试用 3 个月,之后需 Blaze 付费。
- Appwrite 的数据库类型更新过。官网定价页写明,无服务器(Serverless)模式默认是 TablesDB;选专用算力(Dedicated,每个数据库 $10/月起)才能用 DocumentsDB、VectorsDB、PostgreSQL、MySQL。
免费额度和付费起价
| 免费计划 | 付费起价 | |
|---|---|---|
| Supabase | Free:最多 2 个活跃项目;每个项目 500MB 数据库、5 万月活、1GB 文件存储、5GB 流量、50 万次 Edge Function 调用;1 周不活跃暂停 | Pro $25/月起,含 $10 算力额度,额外项目 $10/月起 |
| Firebase | Spark:Firestore 1GiB 存储、每天 5 万次读 / 2 万次写 / 2 万次删、每月 10GiB 出站流量;认证 5 万月活;无需绑卡 | Blaze 按量付费:含 Spark 的免费用量,超出部分按 Google Cloud 价格计费;Cloud Functions 每月 200 万次调用内免费 |
| PocketBase | 软件本身免费 | 无官方托管;成本就是服务器,FAQ 提到可用 Google Cloud、Oracle Cloud 的免费机器,或 Hetzner、Vultr 等 VPS |
| Appwrite | Free:2 个项目(共享资源)、5GB 带宽、2GB 存储、75 万次函数执行、7.5 万月活;1 周不活跃暂停 | Pro $25/月起:2TB 带宽、150GB 存储、350 万次执行、20 万月活,不暂停项目 |
两个容易忽略的差异:
- 超额时会发生什么。Appwrite Free 用完额度后,注册、函数执行、上传等会停用到下个计费周期,不会扣钱;Supabase Pro 默认开启消费上限,关掉才按量多收费。
- Firebase 没有全局上限。Firebase 文档写明,预算提醒(budget alerts)只发邮件、不会暂停服务;能设消费上限(spend cap)的只有 AI Logic、App Hosting、Cloud Functions、Extensions 等少数服务,Firestore 不在其中。
厂商锁定和迁移难度
- Supabase 最容易迁出。底层是标准 Postgres,用常规工具导出导入即可,要改的主要是认证和存储代码。
- PocketBase 数据在你手里。数据库就是服务器上的 SQLite 文件,但官方 FAQ 说目前没有内置导入导出工具。
- Appwrite 开源,云服务和自部署是同一套软件,以后从云迁到自己的服务器有路可走。
- Firebase 迁出成本最高。Firestore 的文档结构、安全规则、云函数触发器都是 Firebase 专有写法,换平台基本等于重写数据层。
中国内地能不能用
- Firebase:不适合面向内地用户。Firebase 团队成员 2023 年在官方 Google 群组回复,从中国内地访问 Firebase 产品一直有问题;FCM 推送和 Analytics 在 Android 上依赖 Google Play 服务,与中国大多数 Android 设备不兼容,iOS 应用可以用 FCM。
- Supabase、Appwrite Cloud:需要自测。没有找到这两家关于内地访问的官方说明或可靠测速,请从目标用户的网络环境实测。
- PocketBase 和自部署版:取决于你的服务器放在哪,访问情况和普通网站一样。
怎么选:按你的情况对号入座
做 Web 应用或 SaaS,数据之间有关联(用户、订单、团队)。选 Supabase。Postgres 能写 JOIN 和复杂查询,前端可以部署到 Vercel、Netlify 或 Cloudflare Pages。
做原生移动应用,用户在海外。选 Firebase。推送、崩溃统计、远程配置都在一个控制台里。
预算极低、愿意自己运维。选 PocketBase。一台小 VPS 跑完整后端,没有按量计费的意外。
想要开源可自部署,又不想一开始就运维。选 Appwrite。先用云服务,需要时再迁到自己的服务器。
想看整套建站从零开始的免费组合,可以参考零成本搭网站的工具组合。
常见的坑
- 免费项目被暂停。Supabase 和 Appwrite Cloud 的免费项目 1 周不活跃都会暂停,正式上线的应用要么升级付费,要么确认能接受暂停。
- Supabase 没开 RLS,数据等于公开。Supabase 前端用的 key 任何人都能拿到。官方文档写明:暴露的 schema 里没开行级安全(RLS)的表,任何有授权的角色都能读写。每张表都要开 RLS 并写好策略,secret key 只能放服务端。Firebase 的 Security Rules 同理。
- Firestore 按读写次数计费。Firebase 官方把「查询忘了加 limit」和「云函数扇出过多甚至死循环」列为超支的常见原因,建议先用本地 Emulator Suite 测试。升级 Blaze 后设好预算提醒,并记住它不会自动停服务。
- 自部署没做备份。自部署时备份、升级、HTTPS 都是你的事。PocketBase 官方推荐用 Litestream 做复制和灾备。
参考资料
- Supabase:定价页 — https://supabase.com/pricing
- Supabase 文档:Row Level Security — https://supabase.com/docs/guides/database/postgres/row-level-security
- Supabase:开源协议(Apache-2.0)— https://github.com/supabase/supabase
- Firebase:定价页 — https://firebase.google.com/pricing
- Firebase 文档:Avoid surprise bills — https://firebase.google.com/docs/projects/billing/avoid-surprise-bills
- Firebase Google Group:Does Firebase work in China? — https://groups.google.com/g/firebase-talk/c/XcttSlPUbWw
- PocketBase:官网 — https://pocketbase.io/
- PocketBase:FAQ — https://pocketbase.io/faq/
- PocketBase:GitHub 仓库(MIT)— https://github.com/pocketbase/pocketbase
- Appwrite:定价页 — https://appwrite.io/pricing
- Appwrite 文档:Free 计划 — https://appwrite.io/docs/advanced/billing/free
- Appwrite 文档:Self-hosting — https://appwrite.io/docs/advanced/self-hosting
- Appwrite:GitHub 仓库(BSD-3-Clause)— https://github.com/appwrite/appwrite
常见问题
- Supabase、Firebase、PocketBase、Appwrite 最大的区别是什么?
- 数据库类型不同:Supabase 是 Postgres 关系型数据库;Firebase 主力是 Firestore 文档型 NoSQL;PocketBase 内嵌 SQLite,整个后端是一个可执行文件;Appwrite 默认用 TablesDB,可选 PostgreSQL、MySQL 等专用数据库。另外 Firebase 是 Google 的闭源云服务,不能自部署,另外三家开源,可自部署。
- 四家的免费额度和付费起价是多少?
- 按 2026 年 10 月官网:Supabase Free 最多 2 个活跃项目、每个项目 500MB 数据库、5 万月活、1GB 文件存储,1 周不活跃会暂停,Pro 每月 $25 起;Firebase Spark 免费计划 Firestore 1GiB 存储、每天 5 万次读、2 万次写,Blaze 按量付费;Appwrite Cloud Free 2 个项目、2GB 存储、7.5 万月活,1 周不活跃会暂停,Pro 每月 $25 起;PocketBase 不提供托管,本身免费,成本是你自己的服务器。
- 中国内地能用 Firebase 吗?
- 不建议面向中国内地用户使用。Firebase 团队成员在官方 Google 群组里表示,从中国内地访问 Firebase 产品一直有问题;FCM 推送和 Analytics 在 Android 上依赖 Google Play 服务,与中国大多数 Android 设备不兼容。Supabase、Appwrite Cloud 在内地的访问情况没有可靠公开数据,请自己实测。
- Supabase 免费项目被暂停了怎么办?
- 官网写明 Free 计划的项目 1 周不活跃就会被暂停。需要一直在线的项目,建议升级到 Pro(付费计划不会因不活跃暂停),或改用自部署。Appwrite Cloud 的 Free 计划也有同样的规则。
- 一个人刚起步,选哪家?
- 本文的建议:要关系型数据和 SQL,选 Supabase;做原生移动应用、用户在海外,选 Firebase;愿意自己维护小服务器、把成本压到最低,选 PocketBase;想要开源可自部署、又有官方云服务,选 Appwrite。