gpt4 book ai didi

firebase - 了解Firebase和谷歌云功能的用途

转载 作者:行者123 更新时间:2023-12-02 08:04:48 24 4
gpt4 key购买 nike

假设我正在开发类似 Instagram 的应用程序:适用于 iOS、Android 和 Web。我决定使用 Google Firebase,因为它似乎确实简化了工作。

应用程序中用户需要的功能是:

  • 授权/注册
  • 上传照片
  • 搜索其他人、关注他们并查看他们的照片

我来自传统的“自己的后端”开发,我确实需要设置服务器、创建数据库,最后编写 API 让前端从服务器检索数据。这就是为什么我不清楚这一切在 Firebase 中是如何运作的。

所以问题是我如何创建这样的应用程序:

  1. 我应该使用云函数创建自己的 API 吗?或者直接从客户端使用数据库可以吗?
  2. 如果我直接使用数据库,为什么需要云函数?我应该使用它们吗?

抱歉问了这么愚蠢的问题,但是从头开始真的很难。

最佳答案

Firebase 与您描述的传统设置之间的主要区别在于,对于应用开发人员而言,使用 Firebase,客户端可以直接访问数据库,而不需要中间的自定义 API 层。 Firebase 提供各种语言的 SDK,您通常会使用它们来获取所需的数据/提交数据更新。

您还拥有可以在服务器端使用的管理 SDK,但这些 SDK 旨在让您运行一些自定义业务逻辑 - 例如分析、在外部服务中进行缓存 - 而不是让您实现数据获取API层。

这有两个重要的后果:

  1. 您必须定义安全规则来控制谁可以在数据库中的哪些路径上读取/写入。这些安全规则是在项目级别定义的,并依赖于经过身份验证的用户(使用 Firebase 身份验证)。通常,如果您将用户配置文件存储在路径 users/$userId 中,您将定义一条规则,规定仅当经过身份验证的用户的 ID 为 $userId 时才能写入此节点
  2. 您的数据结构必须易于阅读 - 无需复杂的数据库操作,例如 Firebase 不支持的 JOIN(您的查询选项确实有限)。

通过这两点,您可以跳过传统 API 的 2 个主要角色:验证访问和获取/格式化数据。

云函数允许您对数据变化使用react。假设每次创建新用户时,您想向他发送一封欢迎电子邮件:您可以定义一个云函数,每次将新节点附加到 users 路径时发送此电子邮件。它们允许您运行通常在写入发生时在服务器端运行的代码,因此它们可以具有非常广泛的用例:副作用(例如发送电子邮件)、在外部服务中缓存数据、缓存Firebase 中的数据以便于读取、分析等。

关于firebase - 了解Firebase和谷歌云功能的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48387308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com