后端即服务 (BaaS) 是一种服务范式,其中开发人员将 Web 或移动开发的幕后组件外包,以便他们可以专注于在即插即用的基础上构建和维护前端,并且摆脱编写服务器端代码的负担。
BaaS 平台(用于移动应用程序)提供支持服务器端任务的软件,例如身份验证、数据库管理、实时更新、存储、托管和推送警报。
尽管各种后端服务从根本上提供相同的解决方案,但它们使用不同的后端技术。 这是许多开发人员在为某个项目选择最佳服务时的决定性因素。
在本文中,我们将深入探讨 Supabase。
什么是 超级基地?
超级基地 是一种开源 Firebase 替代方案,可为各种应用程序提供后端即服务。 使用各种框架快速设置和操作非常简单。 Supabase 自称是 Firebase 的开源替代品。
它旨在帮助开发人员快速设置后端。 “在一个周末建造,增长到数百万,”Supabase 说。
Supbase 产品包括 Postgres 数据库和身份验证服务,存储和无服务器服务(用于后端逻辑)仍在开发中。 它的所有工具大多是免费和开源的。 Postgres 数据库包括与数据库相关的工具,例如对数据库修改的实时监控和一个管理界面。
此外,它还提供了可与 Firebase 相媲美的快速 API 和语法。 这允许您以一致的方式处理 CRUD 任务,让您专注于创建而不是重写重复的 CRUD 代码。
Postgres 数据库是一个表格,它允许您以与电子表格相同的方式存储组织和连接的数据。 令人惊讶的是,当您创建项目时,您可能会使用现有的电子表格作为 Postgres 数据库。
Supabase 是如何工作的?
Supabase 是免费源技术的集合。 他们正在使用企业级开源解决方案创建 Firebase 功能。 如果这些工具和社区在 MIT、Apache 2 或类似的开放许可下可用,他们将使用和支持它们。
如果该工具尚不存在,他们将创建它并使其可用 开放源码. Supabase 不是 Firebase 的 1:1 映射。 他们的目标是为开发人员提供类似 Firebase 的开发体验,使用 开放源码 技术。
Supabase 是一个托管平台。 您可以注册并开始使用它而无需安装任何东西。 您也可以自行托管并在您自己的服务器上构建。
- PostgreSQL 在稳定性、功能健壮性和速度方面享有盛誉; 经过30多年的积极发展,
- Realtime 是一个 Elixir 服务器,它允许您使用 WebSockets 监听 PostgreSQL 的插入、更新和删除。 Supbase 监听来自 Postgres 的复制请求,将复制字节流转换为 JSON,然后通过 WebSockets 广播 JSON。
- PostgREST 是一个 Web 服务器,可将您的 PostgreSQL 数据库转换为 RESTful API。
- Storage 提供了一个 RESTful 接口来管理存储在 S3 中的文件,使用 Postgres 作为权限管理器。
- Postgres-meta 是一个用于管理 Postgres 的 RESTful API,它允许您下载表、分配职责和进行查询等。
- GoTrue 是一个基于 SWT 的 API,允许您管理用户和颁发 SWT 令牌。
- Kong 是一个运行在云端的 API 网关。
入门
1. 项目
在 Supbase 中,项目是所有数据库、身份验证用户、规则、表和文件存储的容器。
有几个地方可以托管您的项目,Supabase 管理员不断添加新站点以减少延迟。 创建一个项目大约需要 2 分钟,所以喝杯咖啡,坐下来放松一下。
2。 项目仪表板
当您的项目完成后,您将看到一个类似于下图的仪表板。 此仪表板向您展示了您需要了解的有关项目的所有信息,包括数据库连接、身份验证请求、存储容量、客户端库实现等。
3.表格创建者和编辑器
Supbase 的数据库是一个关系型 PostgreSQL,具有实时功能和使用 Postgres RLS(行级安全性)的策略访问控制。 开发人员可以使用 Supabase 的仪表板来构建一个 Table 并添加列和属性。 开发人员可以使用 Supabase 直接从仪表板修改数据。
4。 认证
Supbase 上提供了 Google、GitHub、Facebook、Twitter、GitLab 和更多身份验证提供程序。 这些可以使用身份验证面板打开。 它还支持电话 OTP 和 Magic Link 身份验证。
5。 存储
Supabase 是一个开源对象存储系统,可以处理任何文件类型并具有内置的可扩展性。 它有一个易于使用的 API,支持自定义规则和权限。 CDN 集成以及自动转换和优化(调整大小和压缩您的材料)将很快推出。 包含这些功能的 Supabase 存储将成为 Firebase 存储的强大竞争对手。
你可以用 Supabase 构建什么? (一些例子)
1. 订阅付款 使用 Supbase + Stripe + Next.js。
高性能 SaaS 应用程序的完整入门套件。
- Supbase 提供安全的用户管理和身份验证。
- Stripe Checkout 和 Stripe 客户门户集成。
- Supbase 在 PostgreSQL 之上提供了强大的数据访问和管理工具。
- Stripe webhook 可以自动同步价格计划和订阅状态。
2. 保持链接:带有标签和存档的简单书签服务
KeepLink 是一个基本的书签服务,带有标签和使用 Supbase 和 Next.js 构建的存档。 它没有任何社交分享功能,但您可以托管自己的实例。
- 根据现有标签自动标记新书签。
- 借助 Supabase 堆栈,可以对 URL、标题、描述、标签和存档内容进行全文搜索、管理数据库的标记别名和 restful API 访问。
- 使用 metascraper,您可以自动收集页面的标题和描述。 您还可以使用 SinglePage 和 Headless Chrome 归档您的页面。
3. 实时聊天应用 使用 Supabase + React
- 对于实时消息传递,使用 Supabase(在 PostgreSQL 之上)。
- 前端使用 React (CRA) + Vite
- 使用的 UI 库是 Chakra UI。
主要特性
以下是 Supabase 的一些功能:
- 用于在不到一分钟的时间内设置和管理数据库的仪表板/用户界面。
- 要注册用户并更新数据库中的访问限制,请应用用户身份验证。
- API 和 JavaScript 库。
- 实时数据库监听器。
- 函数(有点)。 这些是可以用 SQL、JavaScript、Python 或 Java 编写的数据库存储过程。
优点
Supabase 与众不同的原因如下:
- 与 Firebase 相比,您可能会运行复杂的查询或文本搜索。
- Supabase 为您处理扩展(即使它使用 SQL 数据库)
- 使用 Supbase 进行数据迁移很简单,因为它利用了 PostgreSQL,您可以使用 .sql 文件导入数据。
缺点
采用 Supabase 有一些缺点。 它们如下:
- 要接收实时更改,您必须激活表的复制功能。
- 启用实时更新后,Supabase 的安全策略不适用。
- 功能有限。
- 它的 SDK 仅适用于 JavaScript(对其他语言的支持仍处于测试阶段)
定价
1. 免费套餐
- 具有 500 MB 存储空间和无限 API 调用的数据库
- 身份验证 – 最多 10,000 个用户
- 文件存储 – 高达 1 GB 的存储空间,每月传输限制高达 2 GB。
2. 随用随付
- 数据库 – 每 GB 存储 0.125 美元,对 API 调用没有限制
- 身份验证 - 无限制
- 文件存储 – 数据存储每 GB 0.021 美元,数据传输 0.07 美元/GB
有关更多定价信息,您可以查看他们的网站.
结论
Supabase 是最好的开源 谷歌 Firebase 的替代品. 由于PostgreSQL的强大,它提供了各种显着的特性,并且没有像其他实时数据库系统那样的任何数据类型限制。
您可以使用 Supabase 及其出色的功能创建各种应用程序。 今天试一试!
马塞洛
对于 B2B SaaS,是否可以为每个客户设置 1 个主用户,而与该主用户相关的其他 N 个用户仅处理来自该客户的数据?