别再用 Firebase 了… 试试这个开源替代方案 (Appwrite)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00在你的应用真正开始增长之前,Firebase 确实非常棒。
00:00:03有了用户,流量也上来了,突然间,后端不再是问题,
00:00:09真正的问题变成了你的账单。
00:00:10更糟糕的是,你意识到你其实无法控制自己的后端,因为控制权在 Firebase 手里。
00:00:14但如果能保留所有优点——身份验证、数据库、存储、实时
00:00:19函数等等,并在掌控数据的前提下自己运行它们呢?
00:00:24这就是 AppWrite,一个在过去一年中
00:00:28吸引了许多开发者转向的开源项目。
00:00:29让我们来看看如何在几分钟内完成设置。
00:00:37我们知道 Firebase 提供身份验证、实时数据库、存储、消息推送等
00:00:42这些好用的功能。
00:00:43这也是为什么这么多开发者会从它开始。
00:00:45AppWrite 提供了相同的核心构建块,此外还有团队管理、自托管、消息服务商,
00:00:52甚至是 AI 工具。
00:00:54这里的区别很简单。
00:00:55这是你的服务器,你的 VPS,你的配置,一切规则由你定。
00:00:59如果你喜欢这些能加速开发流程的开源工具,请务必
00:01:03订阅 Better Stack 频道。
00:01:05现在通过 AppWrite,我们可以获得邮箱登录、OAuth、魔术链接、匿名登录,
00:01:10甚至是多因素身份验证(MFA)。
00:01:12你还能获得一个融合了文档型和关系型结构的实时数据库。
00:01:15还拥有带文件转换功能的存储系统。
00:01:17我们支持超过 13 种语言的无服务器函数,以及推送、邮件、短信等消息服务,
00:01:23功能非常全面。
00:01:24你可以选择自托管或使用云服务。
00:01:27而且最让人惊讶的地方在于,
00:01:28尽管它如此强大,但自托管起来其实非常容易。
00:01:32所以我们别光说不练。
00:01:34让我们现在就把它跑起来,我好向大家展示如何将 AppRite
00:01:38集成到你的项目中。
00:01:39第一步很简单。
00:01:41确保 Docker 正在运行,好吗?
00:01:43然后在你的终端里,输入这个命令,
00:01:46我们要运行一个 Docker Compose 命令。
00:01:49就这样。
00:01:50后端已经搭建好了。
00:01:51随时可以使用。
00:01:52它会引导我们进入这个页面,你可以创建新账号
00:01:56或登录现有的 AppRite 账号。
00:01:58现在我们要在这里创建一个新项目。
00:02:00我就叫它 "TodoApp",因为这就是我们要展示的内容。
00:02:04然后我们复制项目 ID。
00:02:06之后我们需要把它添加到 ENV 环境文件中,你可以现在保存,
00:02:10或者直接把它填进 ENV 文件。
00:02:13接下来我们要为本地开发添加一个 Web 平台。
00:02:16依次进入 Auth、Web App,然后点击添加平台。
00:02:19我们可以将主机名设为 localhost,然后直接保存。
00:02:23现在我们可以设置数据库并创建一个集合(Collection)。
00:02:26在数据库中,一个集合其实就相当于一张表。
00:02:30你可以根据需要创建任意数量的列。
00:02:33对于这个项目,我会使用邮箱、标题、内容,
00:02:38再加上用户 ID。
00:02:40我们可以在这里设置权限。
00:02:42"Any"(任何人)是指无论是否登录的用户。
00:02:45所以我把这些设为只读。
00:02:48其余的操作将只针对已登录的用户。
00:02:51既然是待办事项清单,
00:02:52让我们把基本的增删改查(CRUD)操作都勾选上。
00:02:57这是最棒的部分之一,因为 AppRight 在后端直接处理了这一切。
00:03:02非常简单。
00:03:03只需要勾选几个框就行。
00:03:05现在我们可以把它连接到代码中了。
00:03:06我们可以将端点(Endpoint)和所有数据(包括项目 ID、
00:03:10数据库 ID 和表名)直接填入项目的 ENV 文件。
00:03:16看起来复杂的完整后端设置,实际上只是我们将 AppRight 中的
00:03:20几个小部分连接到了代码里。
00:03:23好的。
00:03:24现在让我们测试一下。
00:03:25我们可以启动它。
00:03:26我要去这里创建一个新的用户账号。
00:03:29开始注册。
00:03:30登录之后,我们可以尝试创建一个任务。
00:03:33我给它一个标题和一些描述,
00:03:37然后点击添加。
00:03:38瞧。
00:03:39你可以看到这里没有任何报错,对吧?
00:03:41它正在将数据推送到我们的应用。
00:03:43如果我们回到 AppRight 后台,就能看到数据传过来了。
00:03:48现在如果我开两个标签页,在一个标签页登录,
00:03:53在另一个标签页保持未登录状态。
00:03:54当我在第一个标签页推送数据时,它也会出现在第二个标签页上,
00:03:59因为我们为所有人设置了只读权限。
00:04:03只需极少量的代码,我们就实现了身份验证下的全流程同步,
00:04:08它能写入数据并更新数据库,还能提取数据
00:04:13并在多个页面上显示。
00:04:14那么,为什么开发者们会转向 AppRight 呢?
00:04:17首先,最明显的一点。
00:04:18是所有权。
00:04:19数据是你自己拥有的,对吧?
00:04:21这是一个开源项目。
00:04:23它能让你更好地保护隐私。
00:04:25此外,这里没有所谓的“按席位计费”,明白吗?
00:04:27当你使用 Firebase 或 Supabase 扩大规模时,会产生一些隐藏费用。
00:04:31嗯,也不算隐藏,但总之会有费用产生。
00:04:35而且 AppRight 拥有的大多数功能,Firebase
00:04:39和 Supabase 也同样具备。
00:04:40所以你其实并没有损失任何功能。
00:04:42你可以自托管或者使用云服务,它们的 SDK 对
00:04:47React 和 Flutter 的支持也相当不错。
00:04:49再说一次,它毕竟是开源的。
00:04:51它也许不完美,但作为开发者,我们可以很快搞定这些细节。
00:04:55所以这不会成为一个很大的痛点。
00:04:57唯一前提是你需要了解 Docker,但这也很容易学。
00:05:00好的。
00:05:01如果你懂 Docker,这简直太棒了,因为部署速度飞快。
00:05:05它没有内置全球 CDN 或边缘计算函数。
00:05:07所以如果你需要这些,你得自己集成像 Cloudflare 这样的服务。
00:05:10它的数据库是基于 MariaDB 的。
00:05:13所以它不像 Supabase 那样拥有 Postgres。
00:05:16如果你想把规模做大,你需要某种监控手段,
00:05:20这对于任何自托管工具来说都是必然的。
00:05:22而这正是像 Better Stack 这样的工具大显身手的地方。
00:05:26那么你到底应不应该使用它?或者更好的问题是,它适合谁?
00:05:30也许你是一位想要避免昂贵账单的开发者或初创公司。
00:05:34好的。
00:05:35这非常合适。
00:05:36这真的很酷。
00:05:37如果你更注重隐私并追求完全的掌控权,它也会很适合你。
00:05:40对于想要优秀 SDK 的 Flutter 和移动开发者,
00:05:44这同样是个绝佳选择。
00:05:45记住,我们确实大幅降低了开支。
00:05:47所以只要你想省钱,那它就适合你。
00:05:49是的,这是一个很酷的工具。
00:05:52如果随着增长 Firebase 变得太贵,而 Supabase 让你觉得组件太多太复杂,
00:05:56我觉得 AppRight 恰好处于两者之间的平衡点。
00:06:00这就是为什么它是进入 2026 年的一个有力选项。
00:06:04就在这几分钟里,我们搭建了后端,同步了一切,并了解了为什么
00:06:08它是这么多寻找 Firebase 和 Supabase 替代方案的开发者的好选择。
00:06:13如果你想尝试一下,我在说明栏里放了一些链接和文档,
00:06:17去看看吧。
00:06:18部署只需要不到几分钟。
00:06:20绝对值得一试。
00:06:21如果你喜欢这类编程视频和开源工具,请务必
00:06:25订阅 Better Stack 频道。
00:06:27我们下个视频再见。

Key Takeaway

Appwrite 是一个功能全面、部署快捷且具备高性价比的开源后端服务平台,是寻求逃离 Firebase 昂贵定价和厂商锁定的开发者的理想选择。

Highlights

Firebase 在应用规模扩大后面临高昂账单和控制权缺失的问题

Appwrite 作为开源替代方案,提供身份验证、实时数据库、存储及无服务器函数等核心功能

支持 Docker 一键部署,开发者可以完全掌控自己的服务器(VPS)和数据隐私

相比 Supabase,Appwrite 在功能丰富度和上手难度之间取得了更好的平衡

提供针对 React、Flutter 等主流框架的优质 SDK,且支持 13 种以上语言的函数编写

Appwrite 采用 MariaDB 架构,虽然没有内置 CDN,但具有极高的部署灵活性

Timeline

Firebase 的局限性与 Appwrite 的崛起

视频开篇指出了开发者在使用 Firebase 时普遍面临的痛点,即随着应用用户量和流量的增长,后端维护成本会因计费模型而大幅飙升。更核心的问题在于开发者失去了对后端的控制权,因为所有逻辑和数据都托管在闭源平台上。Appwrite 作为一个开源项目,旨在保留 Firebase 所有优点的同时,赋予开发者完全的控制权。它在过去一年中吸引了大量开发者转型,成为后端服务领域的重要竞争者。这一节强调了在掌控数据的前提下运行身份验证、数据库和存储等功能的重要性。

Appwrite 核心功能与架构优势

本段详细对比了 Appwrite 与 Firebase 的功能构成,涵盖了身份验证、实时数据库、存储和消息推送等核心构建块。Appwrite 特别增加了团队管理、自托管支持、多种消息服务商集成以及 AI 工具等额外功能。在身份验证方面,它支持 OAuth、魔术链接、匿名登录及多因素认证(MFA),功能非常全面。其数据库融合了文档型和关系型的优点,并支持超过 13 种编程语言的无服务器函数。视频强调了“你的服务器、你的规则”这一理念,展示了自托管模式带来的极高自由度。

实战演示:快速搭建 Appwrite 后端

演讲者演示了如何通过 Docker Compose 命令在几分钟内完成 Appwrite 的本地环境搭建。首先需要确保 Docker 运行,执行简单的安装脚本后即可访问管理后台并创建名为 "TodoApp" 的项目。接着展示了如何为 Web 平台配置主机名,并详细讲解了数据库集合(Collection)的创建过程,这在 Appwrite 中相当于关系数据库中的表。开发者可以根据需求定义列属性并设置权限,例如将未登录用户的权限设为只读。这种图形化界面的配置方式极大简化了后端逻辑的编写工作,体现了工具的易用性。

代码集成与实时同步功能测试

这一部分展示了如何将配置好的 Appwrite 服务连接到前端代码中,关键在于将端点、项目 ID 和数据库 ID 填入环境变量文件。通过创建一个简单的待办事项应用,视频演示了用户注册、登录以及数据推送的完整流程。测试结果显示,数据能够无误地从前端推送到 Appwrite 后台,并在控制台中实时显示。更令人印象深刻的是,由于设置了只读权限,未登录的标签页也能即时同步已登录用户创建的内容。这证明了 Appwrite 在处理身份验证下的全流程同步方面具有极高的效率和稳定性。

为何选择 Appwrite:深度分析与适用人群

视频深入分析了开发者转向 Appwrite 的几大理由,其中最关键的是数据所有权和隐私保护。与 Firebase 或 Supabase 不同,Appwrite 避开了复杂的“按席位计费”陷阱,有效降低了项目的隐性扩展成本。虽然它目前没有内置全球 CDN,且数据库基于 MariaDB 而非 Postgres,但这些可以通过集成 Cloudflare 等外部服务或利用监控工具来弥补。对于熟悉 Docker 的开发者来说,这些微小的学习曲线并不会构成严重的痛点。这一节明确了 Appwrite 在功能平衡性上的优势,其 SDK 对 React 和 Flutter 的支持也处于行业领先水平。

总结:2026 年的后端开发新趋势

在总结部分,演讲者再次肯定了 Appwrite 是初创公司和个人开发者避免高昂账单的绝佳方案。它特别适合注重隐私、追求完全掌控权以及希望快速降低运营开支的移动开发团队。Appwrite 填补了 Firebase 的昂贵计费与 Supabase 的高复杂度之间的空白,找到了一个完美的平衡点。作为进入 2026 年的有力后端选项,其实际部署过程仅需几分钟,非常值得开发者尝试。视频最后鼓励观众查看说明栏的文档链接,并订阅频道以获取更多开源工具的资讯。

Community Posts

View all posts