低代码这么多年了, 始终不温不火, 但是比低代码更高级亿点点的BaaS(还是需要写点前端代码的)确热火朝天?
有了BaaS(后端即服务), FaaS(前端即服务)还会远吗?
BaaS, FaaS 都有了, 离低代码火起来是不是就更近一步了呢?
今天这篇文章就来介绍一下火遍全网的BaaS产品Supabase是啥? 为什么云厂商纷纷推出支持Supabase的服务!!!
Supabase 是一个 开源的 BaaS(Backend as a Service)平台,基于 PostgreSQL 构建,提供:
💡 定位:开源版 Firebase,但基于 SQL 和 PostgreSQL 生态,更适合复杂业务和开发者控制。
官网:https://supabase.com GitHub:https://github.com/supabase/supabase(⭐ 80K+ Stars)
特性 | Supabase | Firebase |
|---|---|---|
数据库 | PostgreSQL(关系型,SQL) | Firestore(文档型,NoSQL) |
查询能力 | ✅ 复杂 JOIN、聚合、子查询 | ❌ 有限,需反范式设计 |
事务支持 | ✅ ACID 事务 | ❌ 有限(批量写入) |
实时功能 | ✅ 基于 PostgreSQL 逻辑复制 | ✅ 基于 Firestore 监听 |
身份认证 | ✅ GoTrue(开源) | ✅ Firebase Auth |
存储 | ✅ Supabase Storage | ✅ Firebase Storage |
边缘函数 | ✅ Deno(TypeScript) | ✅ Node.js(JavaScript) |
开源 | ✅ 全栈开源,可自托管 | ❌ 闭源,仅 SDK 开源 |
自托管 | ✅ Docker/K8s 一键部署 | ❌ 不支持 |
成本 | ✅ 免费层慷慨,按使用付费 | ✅ 免费层有限,易超支 |
🎯 Supabase 优势:SQL 能力强、开源可控、适合复杂业务 🎯 Firebase 优势:生态成熟、移动端集成好、上手简单
# 安装 CLI
npm install -g supabase
# 登录
supabase login
# 初始化项目
supabase init
# 启动本地开发环境
supabase start
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'https://your-project.supabase.co',
'your-anon-key'
)
// 插入数据
const { data, error } = await supabase
.from('todos')
.insert([{ title: 'Hello Supabase!' }])
// 订阅实时变更
supabase
.channel('todos')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'todos' }, (payload) => {
console.log('New todo:', payload.new)
})
.subscribe()
Supabase 的核心安全模型是 PostgreSQL RLS(Row Level Security):
-- 启用 RLS
ALTER TABLE todos ENABLE ROW LEVEL SECURITY;
-- 创建策略:用户只能访问自己的 todos
CREATE POLICY "User can access own todos"
ON todos
FOR ALL
USING (auth.uid() = user_id);
✅ 所有 API 请求自动携带 JWT,PostgreSQL 根据
auth.uid()过滤数据
git clone https://github.com/supabase/supabase
cd supabase/docker
docker-compose up
✅ 适合企业私有化部署,数据完全自主可控
场景 | 是否推荐 | 说明 |
|---|---|---|
中后台管理系统 | ✅ 强烈推荐 | SQL + RLS 完美匹配 |
实时协作应用 | ✅ 推荐 | Realtime + PostgreSQL 逻辑复制 |
移动端 App | ✅ 推荐 | Auth + Storage + Edge Functions |
复杂业务系统 | ✅ 推荐 | JOIN、事务、存储过程支持 |
超高并发读写 | ⚠️ 谨慎 | 需优化 PostgreSQL(分片、读写分离) |
🚀 Supabase 正在开发 “Database Branching”(类似 Neon),支持秒级克隆数据库,适合开发/测试环境。
工具 | 说明 |
|---|---|
Supabase CLI | 本地开发、部署、管理 |
Supabase Studio | Web 仪表盘,管理数据、Auth、Storage |
VS Code Extension | 直接在编辑器中管理 Supabase 项目 |
Flutter/Dart SDK | 官方支持移动端开发 |
pgvector | 支持 AI 向量搜索(与 OpenAI 集成) |
项目 | 说明 |
|---|---|
定位 | 开源 Firebase 替代品,基于 PostgreSQL |
核心优势 | SQL 能力强、开源可控、实时功能、RLS 安全 |
适用人群 | 全栈开发者、创业团队、企业私有化部署 |
学习成本 | 低(前端直接调用 API),但需懂 PostgreSQL |
生产可用 | ✅ 大量企业已在生产环境使用 |
📌 一句话总结:
Supabase = PostgreSQL + 自动生成 API + 实时 + Auth + Storage + 边缘函数 —— 一个开源、可控、强大的现代 BaaS 平台。
实际上,云数据库厂商并没有在“推 Supabase 服务” —— 这是一个常见的误解。
更准确地说:
✅ Supabase 是一个独立的开源 BaaS(Backend as a Service)平台,基于 PostgreSQL 构建。 ✅ 云厂商(如 AWS、Azure、Google Cloud)是在“推 PostgreSQL 托管服务”,而 Supabase 正好构建在其上。 ✅ 开发者社区和创业公司热捧 Supabase,因为它开源、灵活、功能全,是 Firebase 的 SQL 替代品。
说法 | 真相 |
|---|---|
“AWS 在推 Supabase” | ❌ AWS 推的是 RDS for PostgreSQL 和 Aurora PostgreSQL,Supabase 可以部署在上面,但 AWS 不官方支持或推广 Supabase |
“阿里云推 Supabase” | ❌ 阿里云推的是 RDS PostgreSQL 和 PolarDB for PostgreSQL,Supabase 可自托管在其 ECS 上 |
“Google Cloud 推 Supabase” | ❌ Google 推的是 Cloud SQL for PostgreSQL,Supabase 可运行在 GCP,但非官方产品 |
📌 Supabase 是 独立公司(supabase.com) 的产品,不是任何云厂商的官方服务。
👉 云厂商乐见其成,因为 Supabase 带动了 PostgreSQL 托管服务的使用量。
云厂商 | 主推数据库服务 | 是否支持 Supabase |
|---|---|---|
AWS | Aurora PostgreSQL, RDS PostgreSQL | ✅ 可自托管 |
Azure | Azure Database for PostgreSQL | ✅ 可自托管 |
Google Cloud | Cloud SQL for PostgreSQL | ✅ 可自托管 |
阿里云 | PolarDB for PostgreSQL, RDS PostgreSQL | ✅ 可自托管 |
腾讯云 | TencentDB for PostgreSQL | ✅ 可自托管 |
🎯 云厂商的策略:推 PostgreSQL → 吸引开发者 → Supabase 自然跑在上面 → 增加云服务收入
📌 Supabase 的流行,间接推动了云厂商 PostgreSQL 服务的增长。
问题 | 答案 |
|---|---|
云厂商在推 Supabase 吗? | ❌ 没有,他们在推 PostgreSQL 托管服务 |
为什么感觉在推? | ✅ Supabase 依赖 PostgreSQL,云厂商乐见其成 |
谁在推 Supabase? | ✅ 开发者社区、创业公司、开源爱好者 |
云厂商受益吗? | ✅ 是,Supabase 带动了 PostgreSQL 云服务使用量 |
📌 一句话真相:
云厂商没有推 Supabase —— 但他们推的 PostgreSQL,正好是 Supabase 的地基。开发者用 Supabase,云厂商卖 PostgreSQL,双赢。
非常好的问题!
你问:
有 BaaS(Backend as a Service),那么有 FaaS(前端即服务)吗?
没有官方或广泛接受的 “FaaS = Frontend as a Service” 概念 —— 因为 “FaaS” 在业界已被 “Function as a Service”(函数即服务) 占用。
但! ✅ “前端托管 + 边缘渲染 + 无服务器前端” 的组合,本质上就是 “前端即服务” —— 我们可以称之为 “Frontend as a Service” 或 “Hosted Frontend Platform”。
现代前端开发中,以下平台和服务,本质上就是 “Frontend as a Service”:
平台 | 功能 | 为什么是 “前端即服务” |
|---|---|---|
Vercel | 自动构建、部署、边缘网络、Serverless Functions、Preview Deployments | ✅ 一键部署前端,自动扩缩容,全球 CDN,集成后端函数 |
Netlify | 静态托管、Forms、Identity、Edge Functions、Split Testing | ✅ 全托管前端,带身份认证、A/B 测试、边缘逻辑 |
Cloudflare Pages | Git 触发构建、边缘部署、Workers 集成 | ✅ 全球边缘网络,毫秒级响应,集成 Serverless 后端 |
AWS Amplify Hosting | 全托管前端,集成 Auth、API、Storage | ✅ 与 Amplify BaaS 深度集成,适合全栈应用 |
Firebase Hosting | 静态托管、SSR、边缘缓存、与 Firebase BaaS 集成 | ✅ 谷歌生态,一键部署,全球 CDN |
🎯 这些平台提供:
如果定义 “Frontend as a Service”,它应包含:
能力 | 说明 |
|---|---|
Git 集成 | git push 自动触发构建部署 |
自动构建 | 支持 React、Vue、Svelte、Next.js、Nuxt 等框架 |
全球 CDN | 静态资源全球分发,低延迟 |
边缘渲染 | SSR/ISR 在边缘节点执行(如 Vercel Edge Functions) |
无服务器函数 | 处理 API 请求、身份验证、数据获取 |
预览环境 | 每个 PR 自动生成独立预览 URL |
A/B 测试 & 分支部署 | 支持多环境、多版本并行 |
安全 & 合规 | 自动 HTTPS、WAF、DDoS 防护 |
维度 | BaaS(如 Supabase、Firebase) | Frontend as a Service(如 Vercel、Netlify) |
|---|---|---|
核心功能 | 数据库、Auth、Storage、Functions | 构建、部署、CDN、边缘渲染、预览环境 |
目标用户 | 全栈开发者、后端工程师 | 前端工程师、全栈开发者 |
部署方式 | 通常部署在云数据库/函数服务 | 部署在边缘 CDN,全球分发 |
是否需要服务器 | ❌ 无服务器 | ❌ 无服务器(静态资源 + 边缘函数) |
典型场景 | 用户系统、实时数据、文件存储 | 企业官网、营销页、Web App、博客 |
✅ 两者常搭配使用: Vercel(前端) + Supabase(后端) = 完整无服务器全栈应用
问题 | 答案 |
|---|---|
有 FaaS(Frontend as a Service)吗? | ❌ 没有官方命名,因为 FaaS 已被 Function as a Service 占用 |
有“前端即服务”吗? | ✅ 有!就是 Vercel、Netlify、Cloudflare Pages 等平台 |
为什么重要? | 现代前端需要构建、部署、CDN、边缘逻辑、预览环境等“服务化”能力 |
如何搭配 BaaS? | ✅ Vercel + Supabase、Netlify + Firebase、Cloudflare + PocketBase |
📌 一句话记住:
“FaaS 是 Function,前端托管平台是 Frontend as a Service —— 它们和 BaaS 一起,构成了现代无服务器全栈开发的铁三角。”
老铁, 你怎么看?
欢迎留言!!!!