Supabase:基于 Postgres 的开发平台,功能丰富,支持多语言开发
Supabase:基于 Postgres 的开发平台,功能丰富且支持多语言开发
Supabase 是一个基于 Postgres 的开发平台,借助企业级的开源工具,打造类似 Firebase 的功能。
主要功能
-托管的 Postgres 数据库:具备强大的功能和高可靠性。
-认证与授权:详细文档可帮助你实现用户认证和权限管理。
-自动生成的 API:包括 REST 和 GraphQL API,方便开发者调用。
-实时订阅:能够实时监听数据库的变化。
-函数:包含数据库函数和边缘函数。
-文件存储:提供便捷的文件存储服务。
-AI + 向量/嵌入工具包:助力 AI 相关开发。
-仪表盘:关注此仓库的“发布”动态,可及时获取重大更新通知。
文档
如需完整文档,可访问 supabase.com/docs。若想了解如何贡献代码,可查看入门指南。
社区与支持
-社区论坛:适合寻求构建帮助、讨论数据库最佳实践。
-GitHub 问题:用于反馈使用 Supabase 时遇到的错误和问题。
-邮件支持:针对数据库或基础设施问题提供帮助。
-Discord:可分享应用并与社区成员交流。
工作原理
Supabase 整合了一系列开源工具,借助企业级开源产品打造类似 Firebase 的功能。若有符合 MIT、Apache 2 或同等开源许可的工具和社区,会使用并支持;若工具不存在,会自行开发并开源。Supabase 并非与 Firebase 一一对应,旨在让开发者通过开源工具获得类似 Firebase 的开发体验。
架构
Supabase 是一个托管平台,无需安装任何东西,注册后即可开始使用,也可以选择自行托管并进行本地开发。
-Postgres:一种对象关系型数据库系统,经过 30 多年的积极开发,以可靠性、功能强大和高性能著称。
-Realtime:一个 Elixir 服务器,可通过 WebSocket 监听 PostgreSQL 的插入、更新和删除操作。它会轮询 Postgres 内置的复制功能以获取数据库变更,将变更转换为 JSON 格式,然后通过 WebSocket 广播给授权客户端。
-PostgREST:一个 Web 服务器,可将 PostgreSQL 数据库直接转换为 RESTful API。
-GoTrue:基于 JWT 的认证 API,简化了应用中的用户注册、登录和会话管理。
-Storage:一个用于管理 S3 中文件的 RESTful API,由 Postgres 处理权限。
-pg_graphql:一个 PostgreSQL 扩展,可提供 GraphQL API。
-postgres - meta:一个用于管理 Postgres 的 RESTful API,可用于获取表信息、添加角色和运行查询等。
-Kong:一个云原生 API 网关。
客户端库
客户端库采用模块化设计,每个子库都是针对单个外部系统的独立实现,这也是支持现有工具的方式之一。
| 语言 | 客户端 | 特性客户端(包含在 Supabase 客户端中) |
|---|---|---|
| 官方支持 | ||
| JavaScript (TypeScript) | supabase - js | postgrest - js, auth - js, realtime - js, storage - js, functions - js |
| Flutter | supabase - flutter | postgrest - dart, gotrue - dart, realtime - dart, storage - dart, functions - dart |
| Swift | supabase - swift | postgrest - swift, auth - swift, realtime - swift, storage - swift, functions - swift |
| Python | supabase - py | postgrest - py, gotrue - py, realtime - py, storage - py, functions - py |
| 社区支持 | ||
| C# | supabase - csharp | postgrest - csharp, gotrue - csharp, realtime - csharp, storage - csharp, functions - csharp |
| Go | - | postgrest - go, gotrue - go, storage - go, functions - go |
| Java | - | - | gotrue - java, storage - java, - |
| Kotlin | supabase - kt | postgrest - kt, auth - kt, realtime - kt, storage - kt, functions - kt |
| Ruby | supabase - rb | postgrest - rb, - | - | - | - | - |
| Rust | - | postgrest - rs, - | - | - | - | - |
| Godot Engine (GDScript) | supabase - gdscript | - | - | - | - | - | - |
徽章
翻译
提供以下语言的翻译:阿拉伯语(العربية)、阿尔巴尼亚语(Shqip)、孟加拉语(বাংলা)、保加利亚语(Български)、加泰罗尼亚语(Català)、克罗地亚语(Hrvatski)、捷克语(čeština)、丹麦语(Dansk)、荷兰语(Nederlands)、英语、爱沙尼亚语(eesti keel)、芬兰语(Suomalainen)、法语(Français)、德语(Deutsch)、希腊语(Ελληνικά)、古吉拉特语(ગુજરાતી)、希伯来语(עברית)、印地语(हिंदी)、匈牙利语(Magyar)、尼泊尔语(नेपाली)、印尼语(Bahasa Indonesia)、意大利语(Italian)、日语(日本語)、韩语(한국어)、立陶宛语(lietuvių)、拉脱维亚语(latviski)、马来语(Bahasa Malaysia)、挪威语(Bokmål)(Norsk (Bokmål))、波斯语(فارسی)、波兰语(Polski)、葡萄牙语(Português)、巴西葡萄牙语(Português Brasileiro)、罗马尼亚语(Română)、俄语(Pусский)、塞尔维亚语(Srpski)、僧伽罗语(සිංහල)、斯洛伐克语(slovenský)、斯洛文尼亚语(Slovenščina)、西班牙语(Español)、简体中文(简体中文)、瑞典语(Svenska)、泰语(ไทย)、繁体中文(繁體中文)、土耳其语(Türkçe)、乌克兰语(Українська)、越南语(Tiếng Việt)。