打开 “懒猫微服客户端” 下载应用

Supabase

Supabase 是 Postgres 开发平台。您可以使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅、存储和向量嵌入来启动您的项目。

36 次下载
0 次点赞
1 条评论
2 次催更
36

安装次数

0

点赞

1

应用评论

2

催更次数

桌面端

应用描述

开箱即用的开源后端:以 PostgreSQL 为核心,提供认证、实时、存储、自动 API 与 Serverless,使你用最少后端工作量快速交付现代 Web/移动/AI 应用。 注意部署的时候请重新生成密钥: 1. 拉取仓库地址 ```bash git clone https://github.com/dweb-channel/supabase-test ``` 2. 运行密钥生成脚本: ```bash chmod +x generate-secrets.sh ./generate-secrets.sh ``` upabase 是一个开源的「Firebase 风格」后端即服务(BaaS),以 PostgreSQL 为核心,把数据库、认证、实时、文件存储、Serverless 函数和自动生成的 API 等后端能力整合成即用平台,支持托管与自托管两种模式,适合快速构建 Web / Mobile / AI 应用。 核心功能 • 托管 PostgreSQL — 关系型数据库为中心,支持事务、视图、触发器与存储过程。 • Auth(身份认证) — 注册/登录、JWT 会话管理、社交登录与多种认证策略。 • 自动 API(REST / GraphQL) — 基于数据库结构自动生成可用的 REST(PostgREST)与 GraphQL 接口。 • Realtime(实时订阅) — 监听数据库变更,通过 WebSocket 推送到客户端,实现实时 UI。 • Storage(对象存储) — 类 S3 的文件存储,支持权限与签名 URL。 • Edge / Serverless Functions — 在边缘或近端部署自定义后端逻辑(HTTP 函数)。 • 向量/嵌入与 AI 支持 — 支持存储与检索向量嵌入以用于语义搜索/推荐等 AI 场景。 • Dashboard & 管理控制台 — 可视化管理数据库、权限、日志与项目设置。 关键特性与优势 • SQL-first + Firebase 体验:既能用熟悉的 SQL 做复杂查询,又能享受开箱即用的 BaaS 流程。 • 行级安全 (RLS):用 PostgreSQL 的 RLS 做细粒度数据权限控制,安全性高。 • 开源 & 可定制:Apache-2.0 许可证,完整源码可自托管与二次开发。 • 多语言 SDK:官方/社区 SDK 覆盖 JS/TS、Flutter、Swift、Python、Go、C# 等。 • 可托管或自托管:既有 Supabase 官方托管服务,也能在私有环境完整运行。 • 自动化运维工具链:本地开发镜像、迁移、备份和部署脚本支持开发到生产的流程。 • 实时能力内建:无需额外 WebSocket 层即可实现数据驱动的实时交互。 • 适配 AI 应用:内建或兼容向量索引/嵌入工作流,便于构建语义检索与智能助手。 典型适用场景 • 快速搭建 MVP / 原型项目(极短上线周期) • JAMstack / 前后端分离应用(前端通过 API 直接操作后端) • 中小型生产应用(在良好架构与调优下可稳定运行) • 需要自托管或合规控制的数据敏感场景(金融/医疗/企业) • 语义搜索、聊天机器人等 AI 驱动的产品原型与实验

相关攻略

Supabase 入门指南:让前端开发者也能轻松搞定后端的神器

## 先说点实在的 你是不是经常遇到这种情况:想做个小项目练手,前端三下五除二搞定了,但一想到后端就头大——要搭数据库、写 API、做用户认证、处理文件上传...最后直接放弃了? 别急,今天介绍的 Supabase 就是来拯救你的。简单来说,**它就是一个开源版的 Firebase**,但用的是大家更熟悉的 PostgreSQL 数据库,而且完全免费就能搞定大部分需求。 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazy.app.supabase ## Supabase 到底是个啥? Supabase 是一个 Postgres 开发平台,提供了托管的 Postgres 数据库、身份认证和授权、自动生成的 API、函数、文件存储、AI 和向量/嵌入工具包,以及管理面板等功能。 听起来很厉害对吧?其实说白了就是:**你只需要会写前端代码,Supabase 帮你搞定所有后端的事儿**。 ### 核心功能 - **PostgreSQL 数据库**:不是那种简单的 NoSQL,而是功能完整的关系型数据库 - **用户认证**:邮箱密码、第三方登录(Google、GitHub 等)统统支持 - **实时数据同步**:数据一变化,所有用户立马能看到,做聊天室、协作工具特别方便 - **自动生成 API**:建好表就自动有了 REST API,不用自己写接口 - **文件存储**:图片、视频上传下载,跟用网盘一样简单 - **行级权限控制**:谁能看什么数据,精确到每一行 最爽的是,**这些功能在免费套餐里就够用了**!对于个人项目和小型应用来说,基本不花钱就能搞定。 ## 5分钟快速上手 应用启动后,会引导你设置账户密码,登录后进入首页: ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/d2bfdd7e-4084-4d18-8e7c-e0941283280f.png "image.png") ### 创建你的第一个表 进入项目后,点击左侧的 "Table Editor",创建一个 todos 表: ```sql -- 在 SQL Editor 里运行这段代码 create table todos ( id serial primary key, task text not null, is_complete boolean default false, created_at timestamp with time zone default timezone('utc'::text, now()) ); -- 开启实时同步功能 alter publication supabase_realtime add table todos; ``` ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/57cafe46-877d-42e6-928b-d13ea6226209.png "image.png") ### 在前端使用 安装 Supabase 客户端库,通过 npm 安装 @supabase/supabase-js,然后使用项目 URL 和 API 密钥初始化客户端: ```bash npm install @supabase/supabase-js ``` ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/4ecd2c22-e5da-4965-b889-680a5bd2cfc8.png "image.png") 点击右上角,在这里拿到你的项目 URL 和密钥 ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/564cc203-21b4-4003-a8db-16ed61ae08c0.png "image.png") 创建一个简单的 Todo 应用: ```javascript // 初始化 Supabase 客户端 import { createClient } from '@supabase/supabase-js' const supabaseUrl = 'https://你的项目ID.supabase.co' const supabaseKey = '你的匿名密钥' const supabase = createClient(supabaseUrl, supabaseKey) // 添加任务 async function addTodo(task) { const { data, error } = await supabase .from('todos') .insert([{ task: task }]) if (error) console.log('出错了:', error) else console.log('添加成功!', data) } // 获取所有任务 async function getTodos() { const { data, error } = await supabase .from('todos') .select('*') .order('created_at', { ascending: false }) return data } // 标记完成 async function completeTodo(id) { const { error } = await supabase .from('todos') .update({ is_complete: true }) .eq('id', id) } // 删除任务 async function deleteTodo(id) { const { error } = await supabase .from('todos') .delete() .eq('id', id) } ``` 本地运行后的效果,添加一条记录: ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/9f4efcf5-cf5b-465f-a787-9b96784f9843.png "image.png") 就这么简单!不需要写任何后端代码,你已经有了一个完整的 CRUD 应用。 ## 进阶玩法:实时协作 Supabase 的实时功能允许你监听数据库的变化,比如监听 messages 表的插入操作,当有新消息时实时更新。想做个多人实时协作的 Todo 应用?加几行代码就搞定: ```javascript // 监听 todos 表的变化 supabase .channel('todos-channel') .on('postgres_changes', { event: '*', schema: 'public', table: 'todos' }, (payload) => { console.log('数据变化了!', payload) // 根据变化类型更新界面 if (payload.eventType === 'INSERT') { // 有人添加了新任务 addTodoToUI(payload.new) } else if (payload.eventType === 'UPDATE') { // 有人更新了任务 updateTodoInUI(payload.new) } else if (payload.eventType === 'DELETE') { // 有人删除了任务 removeTodoFromUI(payload.old.id) } } ) .subscribe() ``` 现在你的应用就支持多人实时协作了!任何人的操作,其他人都能立即看到。 ## 实战项目推荐 ### 1. 实时聊天室 利用 Supabase 的实时功能,20 分钟就能做出来: ```javascript // 发送消息 async function sendMessage(message) { await supabase.from('messages').insert([{ content: message, user_id: (await supabase.auth.getUser()).data.user.id, username: (await supabase.auth.getUser()).data.user.email }]) } // 监听新消息 supabase .channel('messages') .on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' }, (payload) => { displayMessage(payload.new) } ) .subscribe() ``` 项目首页提供了各个项目的源码,可以下载下来运行一下 ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/f098adee-3b08-489c-be6d-266d772aaf01.png "image.png") ## 与 Next.js 完美集成 Next.js 14 与 Supabase 的集成变得更加简单,通过 Server Components 可以在服务器端直接操作数据库,通过 Server Actions 可以将数据变更逻辑放在负责获取数据和渲染页面的组件旁边: ```javascript // app/todos/page.js import { createClient } from '@/utils/supabase/server' export default async function TodosPage() { const supabase = createClient() // 直接在服务器组件中获取数据 const { data: todos } = await supabase .from('todos') .select('*') .order('created_at', { ascending: false }) // Server Action:处理表单提交 async function addTodo(formData) { 'use server' const task = formData.get('task') const supabase = createClient() await supabase.from('todos').insert([{ task }]) revalidatePath('/todos') } return ( <div> <form action={addTodo}> <input name="task" placeholder="添加新任务..." /> <button type="submit">添加</button> </form> <ul> {todos.map(todo => ( <li key={todo.id}>{todo.task}</li> ))} </ul> </div> ) } ``` ## 总结 Supabase 特别适合: - 个人项目和 Side Project - MVP 快速验证 - 中小型 SaaS 应用 - 实时协作类应用 - 不想折腾后端的前端开发者 最重要的是,它的免费额度对个人开发者来说完全够用: - 500MB 数据库空间 - 2GB 文件存储 - 5万月活用户 - 200万 Edge Function 调用 --- **相关资源:** - [Supabase 官方文档](https://supabase.com/docs) - [GitHub 仓库](https://github.com/supabase/supabase) - [Discord 社区](https://discord.supabase.com) - [视频教程合集](https://www.youtube.com/@Supabase)

懒猫评分/评论

1.0

1 条评论

这个无法使用

应用信息

最新版本

1.25.4

更新日期

10/11/2025

预估安装占用

2.27 GB

不支持平台

--

来源

Supabase

提供者

u95011260

兼容性

可在此设备上使用

""