六维教程

Supabase 是什么

本教程面向有前端基础(会 JavaScript、会用 Vue 或 Nuxt)但没有后端经验的读者。目标只有一句话,让你不用写一行后端代码,也能做出带用户系统、数据库、文件上传的完整产品。

什么是 Supabase

Supabase 是一个 BaaS(Backend as a Service,后端即服务)平台。通俗讲,它替你托管了一整套后端服务,包括 PostgreSQL 数据库、用户认证、文件存储和实时推送。

你不需要买服务器、不需要配环境、不需要写接口,注册账号后直接在网页上创建项目,拿到一串配置信息,前端代码就能开始读写数据库。

装修好的办公室

独立开发者最常问的问题就是,为什么不自己写后端。用”装修好的办公室”来理解最直观

自建后端 Supabase
租毛坯房,自己买服务器、装系统 拎包入住
自己改水电,配置数据库环境 数据库开箱即用
自己刷墙,从零写注册登录功能 认证系统点几下就开启
自己买家具,写增删改查接口 前端一行代码直接查数据库
自己装门锁,处理接口安全 行级安全策略集中配置

自己装修办公室不是不行,但对于个人项目和独立开发者,时间应该花在产品功能上,而不是重复造轮子。

五大核心服务

Supabase 提供的服务中,本教程只深入讲最常用的五个

服务 用途 本教程章节
Database PostgreSQL 关系型数据库,存一切业务数据 第 03-05 篇
Auth 用户注册登录、第三方账号登录 第 06-07 篇
Row Level Security 行级安全策略,数据库的安全核心 第 08 篇
Storage 文件存储,头像图片等静态文件 第 10 篇
Realtime 数据变化实时推送给前端 第 11 篇

还有 Edge Functions(边缘函数)和数据库函数等进阶能力,入门阶段先了解存在即可。

与自建后端对比

维度 自建后端 Supabase
服务器费用 每月几十到几百元 免费计划即可起步
开发周期 认证、接口、部署全部自己写 注册当天就能跑通
数据库 自己装 MySQL 或 PostgreSQL 托管 PostgreSQL,自带管理界面
实时功能 自己实现 WebSocket 一行代码订阅
扩容 自己操心 平台负责
灵活性 想写什么写什么 受平台能力限制

对独立开发者来说,Supabase 大约能省下 70% 的后端工作量,这也是它 2021 年发布后迅速流行的原因。

与 Firebase 对比

提到 BaaS 就绕不开 Firebase,它是最早把 BaaS 做火的产品,Supabase 常被称为”Firebase 开源替代方案”。两者最大区别在于底层数据库

维度 Firebase Supabase
数据库 NoSQL 文档数据库(Firestore) PostgreSQL 关系型数据库
查询方式 依赖 SDK 链式调用 标准 SQL 全部可用
数据关系 关联查询较弱 外键、多表联查是强项
数据迁移 换平台基本要重写 随时导出标准数据库文件
开源 闭源 完全开源,可自部署

对于做过传统开发、习惯 SQL 的开发者,Supabase 的入门成本更低。对于简单的 JSON 存储需求,Firebase 也很顺手,两者没有绝对优劣。

适合谁用

  • 独立开发者,想快速把想法做成产品
  • 前端开发者,想补全后端能力但不打算深入学习
  • 学习 PostgreSQL 的初学者,Supabase 有现成的网页数据库界面
  • 做课程、做 Hackathon 项目的学生团队

不适合的场景是超大规模数据、对数据主权有强要求的企业,以及需要复杂业务逻辑的中大型系统,这些场景 Supabase 也可以,但已经不是最优解。

学习路线

本教程共 12 篇,建议按顺序学习,每篇都建立在上一篇的基础上

章节 主题
第 02 篇 注册账号并创建第一个项目
第 03 篇 数据建模,创建第一张表
第 04-05 篇 增删改查,用前端读写数据库
第 06-07 篇 用户认证,邮箱密码和第三方登录
第 08 篇 行级安全策略,数据库安全核心
第 09-11 篇 关联查询、文件存储、实时订阅
第 12 篇 综合实战,把所有能力串起来

下一篇 Supabase 环境搭建

上一篇
EJS 标签
下一篇
Supabase 环境搭建