# Summary > [!info] > **不用写后端代码**。前端直接调它的 JS SDK,因为它自动把数据库表变成了 API。 > - **如果选阿里云 RDS:** 你需要招一个后端,或者自己用 Python FastAPI 写一套接口服务,再买个服务器部署这套接口,然后再连数据库。 - **如果选 Supabase:** 你(前端/全栈)直接在 Replit 里写前端代码,引入 `supabase-js`,登录、存数据、读数据全搞定。**开发效率至少提升 3-5 倍。** [[zeabur]]上有 supabase 的模版,可以一键部署 Supabase 就帮你把后端都搞定了**: - **Auth**:解决用户登录问题 - **Database**:存日记内容 - **Storage**:存照片 - **Realtime**:实现实时共享 - **Functions**:扩展业务逻辑 - 它本质是一个 **工具壳子**。它把 PostgreSQL 数据库包装了一层,让你不用写后端 API 代码就能直接用。 ### 2. 它和阿里云 RDS(云数据库)的区别?(IaaS vs BaaS) 这是最核心的区别。如果你在阿里云买一个 PostgreSQL 实例,和你用 Supabase 的区别就像是 **“买毛坯房” vs “住全服务酒店”**。 | **特性** | **阿里云 RDS (IaaS)** | **Supabase (BaaS)** | | ---------- | ------------------------------------------------- | --------------------------------------------- | | **你得到什么** | 一个空的数据库连接地址。 | 数据库 + 身份验证 + API + 文件存储 + 实时推送。 | | **你需要做什么** | 你得自己写 Python/Node.js 代码去连接它,写 API 接口,写登录逻辑,写权限控制。 | **不用写后端代码**。前端直接调它的 JS SDK,因为它自动把数据库表变成了 API。 | | **权限控制** | 你要在后端代码里写 `if user.is_admin`。 | 你直接在数据库里写 RLS (行级安全策略),系统自动拦截非法请求。 | | **适合谁** | 需要极致定制化的大型企业架构。 | **独立开发者、创业公司、MVP 项目**(极度节省开发时间)。 | 一句话总结: 用阿里云 RDS,你是个数据库管理员;用 Supabase,你是个全栈开发者,因为它把后端那堆脏活累活(登录、接口、鉴权)都帮你干了。 # Notes 你这个问题,其实是经典 **「应用场景举例」** 的变体。也就是说,你已经知道 Supabase 有数据库、认证、存储这些功能,但还想要一个具体的、贴近开发过程的使用场景。 --- ## 场景举例:开发一个“旅行日记”App 假设你想做一个 **旅行日记应用**,用户能写日志、上传照片,并和朋友分享。 ### 如果用 Supabase,你可以这样做 1. **用户注册和登录** - 不需要自己写登录系统,直接用 Supabase Auth。 - 支持邮箱+密码注册,或者用 Google/Apple 登录。 2. **存储日记内容** - 每条日记就是数据库里的一条记录(PostgreSQL 表)。 - 可以保存标题、正文、时间、地理位置等字段。 3. **上传照片** - 用户在写日记时上传照片,保存在 Supabase 的 Storage 里。 - URL 自动存入数据库,并且受用户权限保护。 4. **分享权限** - 用 Supabase 的 **Row Level Security (RLS)**,限制只有作者自己能看到/编辑日记。 - 如果要分享,可以设置部分记录对好友可见。 5. **实时更新** - 如果朋友在看共享日记页面,作者一旦编辑,朋友端就能实时更新(类似 Google Docs 的实时同步)。 6. **边缘函数 (Edge Functions)** - 你可以写一个无服务器函数,比如自动生成“旅行年度总结”,统计用户这一年去了哪些城市、写了多少篇日志。 --- ## 总结 📌 **在这种场景下,Supabase 就帮你把后端都搞定了**: - **Auth**:解决用户登录问题 - **Database**:存日记内容 - **Storage**:存照片 - **Realtime**:实现实时共享 - **Functions**:扩展业务逻辑