这篇文章于 2022 年 9 月 13 日更新,包括有关 Firebase 和 Supabase 中的安装、可扩展性和安全性以及身份验证的信息,以及进行其他一般内容更新。
后端即服务 (BaaS) 是一种服务模型,其中开发人员将 Web 或移动开发的所有幕后工作外包。 这样他们就可以专注于在即插即用的基础上编写和维护前端,并避免编写服务器端代码的压力。
BaaS 平台为服务器端活动提供软件,例如身份验证、数据库管理、实时更新、存储、托管和推送通知(用于移动应用程序)。 在过去十年中,我们见证了提供这些服务的公司的崛起,包括 Firebase 、 Supabase 、 Parse 、 Back4app 和 AWS Amplify 等等。
尽管这些后端服务本质上提供相同的解决方案,但它们使用不同的后端技术。 对于许多开发人员来说,这是为给定项目选择最佳服务时的决定性因素。
例如,Back4App 提供开箱即用的 REST 和 GraphQL API,而 Firebase 使用 NoSQL 语法并且不提供开箱即用的 GraphQL。
在本教程中,我们将重点介绍 Firebase 和开源替代品 Supabase。 我们将从分别探索每个平台开始,然后我们将比较 Firebase 与 Supabase,并提供一些关于如何为您的项目选择最佳工具的提示。
我们将详细介绍以下内容:
什么是火力基地?
Firebase 的构建阶段
Firebase 的发布和监控阶段
Firebase 的参与阶段
安装 Firebase
使用 Firebase 进行身份验证
Firebase Firestore
Firebase 中的存储
使用 Firebase 网络 SDK
什么是 Supabase?
Installing Supabase
Firebase vs. Supabase: Which is right for your project?
导入预先存在的数据
价钱
关系数据库与 NoSQL 数据库
Firebase 扩展
数据迁移
可扩展性和安全性
Firebase 最初由 James Tamplin 和 Andrew Lee 于 2011 年创立。 谷歌于 2014 年收购了该平台,现在它是该公司用于应用程序开发的旗舰产品。
Firebase 的第一个产品是 Firebase 实时数据库,这是一个 API,可在 iOS、Android 和 Web 之间同步应用程序数据,同时将其存储在 Firebase 的云中。 Firebase 已经发展成为一个成熟的 BaaS 服务,其中包含用于开发和后期开发阶段的产品。
Firebase 分三个阶段提供产品:
超过 20 万开发人员使用 LogRocket 来创造更好的数字体验 了解更多 →
建造
Release and monitor
从事
每个阶段代表不同的发展阶段。 Firebase 为每个阶段创建了特定产品。
构建阶段涵盖为主动开发提供后端基础架构的产品。 其中包括构建应用程序时使用的核心服务,例如身份验证、存储、实时数据库、Firestore、托管、云功能、云消息传递、远程配置和 Firebase ML。
让我们更详细地探索这些功能:
身份验证:Firebase 提供身份验证服务,允许用户在您的应用程序上注册和创建帐户,包括第三方登录服务
存储:Firebase 为用户生成的媒体(图像、视频、音频等)提供存储作为 firebase 平台的一部分
托管:Firebase 允许托管,从而可以在同一个云服务中构建和托管您的应用程序
云功能:云功能使您能够直接在 Google Cloud 上运行服务器端代码,所有这些都在受控且安全的环境中
Firestore:Firestore 是一个 NoSQL 数据库,它允许您根据自己的喜好构建数据库并以闪电般的速度查询它
云消息传递:这使您能够在即插即用的基础上轻松地向用户发送推送通知
远程配置:您可以使用功能标志来确定打开或关闭哪些功能,以及最终将其投入生产的原因
实时数据库:这