什么是 Firebase?揭开所有秘密

What is Firebase_ All the secrets unlocked
What is Firebase_ All the secrets unlocked

本文将深入分析 Firebase、其主要优缺点、定价结构和核心功能。

开发功能强大、质量上乘的移动应用程序需要大量的投入,但更重要的是需要一个功能强大、特性丰富的开发平台。

Google 旗下的 Firebase 就是这样一个赢得全球开发者青睐的平台。

Firebase 为开发人员提供了多种选择,帮助他们创建功能强大、用途广泛的 Web、Android 和 iOS 平台应用程序。

虽然在应用程序开发领域有多个竞争者,但 Firebase 一直在与目前最好的平台进行对话。

请继续阅读,了解 Firebase 的工作原理并深入了解其功能。

什么是 Firebase 及其工作原理?

什么是 Google Firebase?它是 Google 推出的移动应用程序开发平台,具有开发、处理和增强应用程序的强大功能。Firebase 是一个用于构建网络和移动应用程序的后台平台。(1)

从根本上说,Firebase 是开发人员可以依赖的工具集合,用于根据需求创建和扩展应用程序。

Firebase 旨在为开发人员解决三个主要问题:

  • 快速创建应用程序
  • 自信地发布和监控应用程序
  • 让用户参与进来、

依赖该平台的开发人员可以访问原本需要自己开发的服务,从而能够专注于提供强大的应用体验。

Google Firebase 平台的一些突出功能包括数据库、身份验证、推送消息、分析、文件存储等。

由于服务是云托管的,开发人员可以顺利地进行按需扩展,而不会遇到麻烦。目前,Firebase 是全球开发人员信赖的顶级应用程序开发平台之一。

类别详细信息
Firebase 概述Google的移动应用开发平台,具有应用开发和增强功能。
Firebase 主要功能包括数据库、身份验证、推送消息、分析、文件存储等。
消防基地位置总部位于加利福尼亚州旧金山。
Firebase 创始人由安德鲁-李(Andrew Lee)和詹姆斯-坦普林(James Tamplin)于 2011 年创立。
使用 Firebase 的热门应用程序阿里巴巴、《纽约时报》、Todoist、《费加罗报》、eBay Motors。
可开发的应用程序类型安卓、iOS 和网络应用程序。
Firebase 有什么用途?流行的 Firebase 用例包括 MVP、实时应用程序、聊天/消息应用程序、广告优化、照片共享和商业应用程序。
Firebase 替代品Back4app、Backendless、AWS Amplify、Parse。

Firebase 历史

Firebase 的历史相当引人入胜,与许多初创公司一样,它也经历了许多起起伏伏。它起源于 Envolve,一家由安德鲁-李(Andrew Lee)和詹姆斯-坦普林(James Tamplin)于 2011 年成立的初创公司。(2,3,4)

该公司为开发人员提供了一个 API,方便网站集成在线聊天功能。Envolve 的创始人发现,他们的聊天服务被用于转发非聊天信息。

开发人员依赖该平台进行实时应用数据同步。Lee 和 Tamplin 决定将实时架构与聊天系统区分开来,于是在 2011 年成立了 Firebase。Firebase 后端即服务平台于 2012 年 4 月公开发布。

Firebase 推出的第一个产品是实时数据库。它是一个用于跨安卓、网络和 iOS 设备同步应用程序数据的 API。应用程序开发人员可以依靠该平台创建协作式实时应用程序。

2012 年,该公司从 Greylock Partners、New Enterprise Associates、Flybridge Capital Partners 和 Founder Collective 等出资方获得了超过 100 万美元的种子资金。2013 年 6 月,公司还从 Flybridge Capital Partners 和 Union Square Ventures 募集到 560 万美元的 A 轮融资。(5)

Firebase Authentication 和 Firebase Hosting 由 Firebase 于 2014 年推出,使该公司成为领先的移动后台即服务(MbaaS)

Firebase 于 2014 年 10 月成为Google的一部分,现在是Google的 BaaS 平台。这家科技巨头随后收购了网络托管平台 Divshot,并将其与 Firebase 合并。(6)

今日 Firebase 替代品

Firebase 评论

根据G2 的数据,Firebase 的评分为 4.5 分(满分为 5 分),266 位用户对该平台进行了评价。热门提及和产品功能包括应用程序开发、云功能和数据存储。

TrustRadius表示,Firebase 的评分为 8.5 分(满分为 10 分),有 128 位用户对该平台进行了评价。大多数用户的评价是正面的,只有极少数用户对该平台进行了负面评价。

根据Capterra 的数据,Firebase 的评分为 4.6 分(满分为 5 分),共有 764 位用户对该平台进行了评价。全面的功能是常见的积极方面,而解决方案的复杂性则是常见的消极方面。

Firebase 的优势

优势编号优势说明
1免费启动Firebase 提供免费的 Spark 计划,限额宽松,开发人员无需任何费用即可开始使用。
2开发速度由于它允许前端开发人员处理大部分工作,而不需要单独的后台团队,因此能够实现快速开发并缩短上市时间。
3端到端应用程序开发平台提供一套全面的工具,涵盖从构建、测试到部署和监控的整个应用程序开发周期。
4由Google提供技术支持以 Google 为后盾,提供与 Google Cloud服务的稳健性和集成性。
5关注前端开发减少对后台代码的需求,让开发人员专注于创建应用程序的前端。
6无服务器提供无服务器环境,减少对扩展和服务器管理的担忧。
7机器学习能力提供在应用程序中实现机器学习功能的工具,适合各种技能水平的开发人员使用。
8为应用程序带来流量支持应用程序索引,提高应用程序在Google搜索中的排名,从而提高应用程序的可见度和用户获取率。
9错误监控包括用于实时错误跟踪和解决的 Crashlytics,可增强应用程序的稳定性和用户体验。
10安全和备份通过定期备份和安全数据处理等功能,确保数据的安全性和可用性。

想了解更多?请参阅下面的详细信息:

1.免费启动

Firebase 是免费启动的,用户可以使用自己的 Google 账户登录。(7)

免费的 Spark 计划提供了许多功能,可帮助开发人员入门。根据不断增长的需求,他们可以选择 Blaze 计划。

无需任何费用即可开始使用 Firebase 是一个不错的选择,这也是它如此受欢迎的原因之一。Spark 计划确实有很大的数据库读写数量限制。

另一个优势是,Blaze 计划考虑了原有的免费限制。

例如,您可以在 Blaze 计划中托管 20GB 的存储空间。免费上限为 10GB,也就是说,Firebase 只向您收取 10GB 的额外使用费。

2.发展速度

Firebase 是一个合适的应用程序开发选项,可以帮助开发人员大大缩短开发应用程序的上市时间。

通常,每个开发人员都需要访问服务器和主机,以创建和维护数据库和后台服务。

因此,要构建应用程序,就必须有一名后端开发人员和一名前端开发人员。即使是较小的应用程序也是如此,因为后端和前端必须在不同阶段进行合作。

由前端和后端开发人员共同开发往往会出现错误和问题,从而导致应用程序出现问题,增加开发成本和复杂性。

但是,使用 Firebase 可以让前端开发人员管理所有工作,缩短完成工作所需的时间。这一切都要归功于数据存储、身份验证、通知、分析等随时可用的服务。

除此之外,Firebase 还提供多种即用型服务,使开发人员无需创建模板代码、重新发明轮子或从头开始创建后端。

得益于高质量的 SDK、详细的文档和活跃的社区,前端开发人员在将 Firebase 集成到代码库中时不会遇到太多问题。

3.一体化平台(服务种类繁多)

Firebase 还为开发人员提供了一个全面的产品列表,以便在开发过程中为他们提供帮助。

首先,有两种数据库可供选择:Firestore 和 Firebase 的实时数据库。同样,Firebase 可让您轻松实现云媒体存储,并通过集成的云函数实现无服务器应用程序开发

Firebase 涵盖整个应用程序开发周期,该平台包含用于构建、发布和监控应用程序的功能。

此外,作为应用程序开发周期的最后一步,它还提供了吸引用户并让用户继续使用的工具。

4.由Google提供技术支持

Firebase 由Google提供技术支持,Google是世界上最著名、最值得信赖的科技公司之一。

自被收购以来,Firebase 经历了一系列变革和发展,如今已成为一个可靠的平台。它利用了Google Cloud和Google的许多服务。

Firebase 现在是Google Cloud平台的一部分,与其他Google Cloud服务完美协调,并与大量第三方服务集成。(8,9)

自收购 Firebase 以来,Google在该平台上投入了大量资金,并推出了更强大的产品。

5.注重前端开发

全世界的开发人员都喜欢 Firebase,因为它能让他们专注于创建移动应用程序的前端代码。

Firebase 减少了开发模板后端代码的需要,从而推迟了应用程序开发的完成日期。

Firebase 为应用程序开发提供了便利,并有助于降低成本。
使用 Firebase 还能让开发人员和公司在单一、易学的技术下实现后端环境的标准化。

后端模式可减少支持后端模式所需的培训,让专注于前端的开发人员执行大部分活动。

6.无服务器

扩大和缩小服务器规模并非易事!特别是,扩展数据库集群具有挑战性,而优化巨大工作负载的性能则需要经验丰富的工程师。
Firebase 解决了这个问题,提供了一个完全无服务器的环境。

Firebase 采用无服务器架构,用户只需根据请求付费,无需管理或担心服务器基础设施。它不同于传统的服务器,后者必须始终保持正常运行。

由于 Firebase 的无服务器特性,只有在服务器被使用时才会向用户收费。因此,由于效率更高,与扩展相关的问题也更少。

开发人员可以通过亲自动手来处理 DevOps、设置、基础设施和容量规划,从而获得自由。

7.机器学习

机器学习正处于重塑信息技术领域的边缘。在许多方面,它已经开始了。

根据 Gartner 的数据,30% 的企业将在其流程的某个环节中使用 ML。(10)

Firebase 的优势还在于它允许开发人员依赖机器学习。

无论 iOS 和 Android 开发人员的经验水平如何,都可以使用 ML。

Firebase 拥有一个ML 工具包,其中包含适用于不同移动平台功能的现成 API,如文本识别、人脸检测、图像标签、条形码扫描等。

开发人员可根据应用程序开发要求选择云 API 或设备上 API。

8.产生流量

Firebase 可促进应用程序索引,让用户通过在搜索上提供应用程序链接重新吸引Google搜索用户。(11)

通过将应用程序编入索引,还可以提高应用程序在搜索网站上的排名,从而帮助您的应用程序获得新用户的关注并安装。

开发人员可以利用 Android Instant App 访问应用程序内容。

9.监控错误

Firebase 的 Crashlytics 功能是快速发现和解决问题的绝佳工具。Firebase 可以监控非致命错误和致命错误,并根据错误对用户体验的影响生成报告。(12)

10.备份

在定期备份的帮助下,Firebase 可确保数据的最佳安全性和可用性。(13)

通过该平台的自动备份功能,可以防止应用程序丢失数据。

Blaze 计划的用户可以轻松配置实时数据库以进行自动备份。单击 Firebase 数据库的 “备份 “选项卡,即可访问自动备份设置。

Firebase 限制

限制编号限制说明
1非开源Firebase 不是一个开源平台,这限制了开发人员进行定制和修改的可能性。
2供应商锁定使用 Firebase 可能会导致对这一特定平台的依赖,从而使在不进行重大更改的情况下切换到其他服务具有挑战性。
3地理限制作为 Google 的一部分,Firebase 服务在中国等封锁 Google 服务的国家无法访问。
4只有 NoSQL 数据库Firebase 仅支持 NoSQL 数据库,这可能不适合所有类型的应用,尤其是那些需要复杂查询和事务的应用。
5查询速度慢某些 Firebase 服务(如 Firestore)在查询性能方面可能存在限制,尤其是对于大型应用程序而言。
6定价复杂性Firebase 的定价难以预测,尤其是对于使用模式多变的应用程序而言。
7仅限于 Google CloudFirebase 只能在Google Cloud上运行,不能灵活地托管到其他云平台上。
8缺乏专用服务器Firebase 不提供专用服务器选项或企业合同,这可能会限制大型应用程序的性能和定制。
9无 GraphQL APIFirebase 本身不支持 GraphQL API;开发人员需要实施使用 GraphQL 的变通方法。
10复杂性和学习曲线Firebase 功能全面,学习曲线陡峭,尤其是对于刚刚接触基于云的应用程序开发的开发人员而言。此外,管理和优化 Firebase 服务以控制成本和性能也很复杂。
今日 Firebase 替代品

下面让我们更详细地探讨 Firebase 的局限性:

1.它不是开源的

Firebase 并非移动应用程序开发的开源选项,因此对于许多开发人员来说,它并不是最佳选择。

由于 Firebase 是封闭源代码,用户无法修改它的源代码。由于这一限制,许多喜欢 Firebase 功能的开发人员最终使用了其他平台。

虽然该平台不是开源的,但必须强调的是,GitHub 上提供了许多库和 SDK。(14)

这可能是 Firebase 最大的局限,妨碍了社区改进产品、提高灵活性水平,以及为负担不起 Firebase 价格的开发人员提供自托管选项。

有关不使用专有技术的选项,请参阅文章Firebase Open-Source Alternatives

2. 供应商锁定

使用 Firebase 的另一个主要障碍是它锁定了供应商。

这是阻碍一些开发人员选择该平台的一个重要问题。对于一些开发人员来说,无法获取源代码可能是一个相当棘手的问题。

特别是对于大型应用程序来说,迁移到其他供应商并非易事,要实现迁移,整个后端需要从头开始重建。

3. Firebase 在许多国家无法使用

Firebase 是Google的一个子域,官方网站是 https://firebase.google.com。它在许多国家被屏蔽。

在中国等国家,Google和其他Google服务被屏蔽,无法访问,因为中国屏蔽了*.google.com和*.googleapis.com的URI。

欲了解完整的国家名单,请参阅《透明度报告》。(15)

请阅读文章 “Firebase 在中国的替代方案“,了解在中国托管应用程序的最佳方式。

4.仅适用于 NoSQL 数据库

Firebase 数据库选项(Firestore 和 Firebase 实时数据库)都提供 NoSQL 结构,没有使用关系数据库的选项。(16,17)

  • 复杂查询

用户在使用 NoSQL 数据库时面临的另一个挑战是如何执行复杂的查询。

尽管与 RTDB 相比,Firebase 在 Cloud Firestore 上做出了重大改进,但对于特定用户来说,运行复杂查询仍是一项挑战。

Firebase 复杂查询

上面摘自 StackOverflow 的示例描述了用户从Parse迁移到 Firebase 时面临的挑战。(18)

用户问题的例子与筛选、组合筛选器和组合多个查询有关。

尽管有解决这种情况的办法,而且用户可以使用 Firebase 制作复杂的作品,但对于使用该平台的初学者来说,实施起来可能并不简单。

  • 交易

StackOverflow 上一个有趣的主题讨论了 Firebase 实时数据库如何处理 ACID 属性。(19)

尽管它支持事务,但与传统的关系数据库不同,开发人员必须执行他们的代码,从而导致他们的系统更加复杂。(20)

Firebase ACID 属性
  • 数据迁移不像使用 SQL 数据库那么容易

文章《不使用 Firebase 的 5 个理由》指出,使用 Firebase,用户无法快速处理类似于简单 SQL 数据库的数据迁移。

Firebase 使用 JSON,几乎没有 SQL 功能,因此从数据库迁移并不容易。

5.查询速度慢

并非所有数据库都适合所有使用情况,Cloud Firestore 也不例外。

虽然它是扩展应用程序、提供离线查询支持和实时更新的绝佳解决方案,但它也有局限性。(21).

例如

  • 写入频率限制为每秒 1 次;
  • 没有本地聚合查询;
  • 最大 API 请求大小为 10MB;
  • 文件大小限制为 1 MiB;
  • 最大并发连接数为 100 万;
  • 查询灵活性;
  • 查询速度慢。

要了解更多有关 Firestore 限制的信息,您可以阅读两篇很棒的文章。第一篇博文是《为应用程序选择数据库时应了解的有关 Firestore 的十大事项》,第二篇博文是《为什么我的云 Firestore 查询速度很慢》。

6.并非所有 Firebase 服务都可以免费启动

尽管 Spark 计划提供了大部分服务,但这一规则也有例外。例如云函数和机器学习。(7)

云功能仅适用于 Blaze 计划,用户不能在 Spark 计划下试用该服务。

需要强调的是,云功能有免费配额,但当用户超过免费限额时,Blaze 计划将收取费用。

机器学习功能下的 Cloud Vision API 是 Spark 计划不提供服务的第二个例子。这项服务仅向 Blaze 计划用户提供,API 收费 1.5 美元/千次。

7.价格昂贵,定价难以预测

Firebase 是一个功能丰富的移动应用程序开发平台,对某些人来说价格昂贵。它确实提供免费计划,但也有一些限制。

这也是许多开发人员最终选择 Digital Ocean、AWS 或 Google Cloud 等自托管应用程序的原因。

Firebase 在纯 IaaS 提供商的基础上增加了价值,但这种便利是有代价的。一般来说,自托管应用程序要比使用 Firebase 便宜。(22)

因此,在选择 Firebase 之前,请确保正确比较了在 IaaS 提供商处建立集群的前期成本和维护服务器的持续成本(服务器 + 额外工程成本)与直接在 Firebase 上运行应用程序的成本。

Firebase 价格昂贵的另一个原因是,它是一种专有技术,需要从工程投资中获得回报。另一方面,开源技术可以利用社区开发的力量,提供更经济实惠的解决方案。

Firebase 以基于使用量的定价模式提供服务,很难设定定价上限。该平台没有固定的定价计划,跟踪资源使用情况可能会很麻烦。

对一些用户来说,估算 Firebase 的成本可能比较困难,尤其是在无法预测可扩展性要求的情况下。定价很复杂,Firebase 的每项功能都有具体的定价。

在该平台上,将成本控制在临界值以下是一项相当具有挑战性的工作,而且没有简单的方法对账单设置上限或硬性限制。

尽管如此,由于集成了Google Cloud,我们还是有办法设置预算、使用警报,甚至明确设定请求数量上限。不过,这些方法需要超越 Firebase,而且设置起来有点复杂。

为了更好地管理您的支出,您应该优化使用 Firebase 功能。例如,优化云函数代码以加快运行速度,以及正确决定 RTDB 和 Firestore 之间的关系。例如,使用 RTDB 处理小型但高吞吐量的数据,而使用 Firestore 处理大型数据集或需要复杂查询时的数据。

过去,Firebase 曾提供 Flame 计划。这是一个固定价格、每月 25 美元的计划,已于 2020 年 1 月退市。(23 , 24)

定价结构的变化给一些用户带来了不便,在某些情况下,改为现收现付后费用增加了。欲了解更多相关信息,请阅读文章Firebase 成本增加了 7000%!

请注意,基于使用量的结构并不一定不好!大多数 IaaS 提供商(如 AWS 或 Azure)也采用这一原则。

从积极的方面看,它将根据您消耗的资源精确收费,并提供更高的粒度。

请确保在使用此模式前了解计费方式,并定期监控费用,以避免月底出现意外费用。

8.仅在Google Cloud上运行

Firebase 现在是Google的一部分,其基础设施完全在Google Cloud上运行。(25)

没有在 AWS、Azure 或 Digital Ocean 等其他云提供商上运行 Firebase 的选项。

Firebase 限制了托管选项的灵活性。Firebase 不提供服务器级别的访问权限,如果需要自定义服务器设置,可能会出现问题。

9.缺乏专用服务器和企业合同

Firebase 用户不能选择专用服务器或企业合同。(23)

Firebase 企业合同

不提供专用服务器是一个重大限制。使用 Firebase 的唯一方法是采用无服务器结构,这种结构的灵活性低于完全专用的集群结构。

此外,由于邻居的噪音,共享资源可能无法提供最佳性能。

对于工作量随时间波动的应用程序来说,无服务器环境是一个极佳的选择–例如,在一天或一周内出现高峰和低谷。

试想一个餐厅预订应用程序;无服务器环境将很好地适用于这个应用程序,因为它能保证在周五/周六晚上的高峰期自动分配所有服务器资源。

另一方面,一些应用程序的工作量波动不大,但可能需要量身定制的安全设置或一些服务器级别的访问权限。在这种情况下,无服务器结构将无法满足需求,而专用托管则是更合适的选择。

Firebase 不提供企业定价计划、合同或协助,这对许多潜在用户来说是个大问题。不过,对于有企业级需求的开发人员来说,Blaze 计划不失为一个合适的选择。

10.不提供 GraphQL API

作为标准设置的一部分,Firebase 不提供 GraphQL API。虽然 Firebase 有实现 GraphQL 的变通方法,但 REST 仍是该平台的默认选项。

要了解有关 GraphQL 和 Firebase 的更多信息,请查看 StackOverflow 上的此问题。(26)

Firebase 定价

Firebase 为用户提供免费和基于使用量的计划。但是,用户没有固定的、统一定价的计划可以选择并开始使用。(7)

计划说明
火花
(免费计划)
Firebase 的 Spark 计划是免费的,提供 10 GB 托管、SSL、多个网站、自定义域名和其他一些服务。

它具有 Firebase ML、实时数据库、云 Firestore 和测试实验室等宝贵功能。

以上是 Firebase Spark 计划的一些选项。
火焰
(即用即付)
Firebase 的 Blaze 计划采用 “即用即付 “的灵活定价模式。

该计划包含 Spark 计划的所有功能以及一些额外功能,以改善开发体验。

使用该计划,用户只需支付 0.026 美元/GB 的托管费,每 GB 的存储空间也需支付同样的费用。

Firebase Blaze 计划取消了 Spark 计划的许多限制。

Firebase 网站上提供的 Blaze 计划计算器是计算预估成本的便捷工具。

免费计划有一些限制,例如不允许开发人员访问云功能。

Blaze 是现收现付定价计划,针对不同的功能集(即云 Firestore、云功能、身份验证、托管、Firebase ML、实时数据库和存储)实行分段定价。

  • 始终免费的 Firebase 服务

Firebase 慷慨地提供了一系列始终免费的服务,帮助许多开发人员开始应用程序开发项目。

无论选择何种计划,这些服务都是免费的。将平台上提供的不同服务视为 “始终免费”。

  • 为测试人员提供应用程序。
  • 应用程序索引让搜索引擎索引应用程序
  • 针对不同用户的应用程序版本部署,以进行 A/B 测试
  • 应用程序性能预测和报告
  • 通过综合信息主动与应用程序客户互动
  • 通过 Firebase 云消息在 Android、iOS 和 Web 应用程序中自动发送通知和用户消息。
  • Firebase 应用程序性能监控
  • 使用 Firebase Crashlytics 检测应用程序崩溃
  • 使用动态链接在不同平台上进行用户重定向
  • 远程应用程序功能定制
  • Firebase 机器学习组件可预测返回应用程序用户的信息。
  • Firebase 付费服务

访问 Firebase 控制台的 “使用情况 “选项卡,可以查看不同 Firebase 服务的计划支付状态和使用相关数据。

  • 存储选项卡–“存储 “选项卡显示数据库中的数据总量,但不包括存储在其他 Firebase 产品中的数据。
  • 连接 “选项卡–“连接 “选项卡包含有关实时连接(包括 WebSockets)总数的信息。
  • 负载选项卡–该选项卡包含应用程序负载的图形显示,并在指定时间内向用户展示这些数据。
  • 下载选项卡 –包含从数据库下载的数据总量信息。

有关 Firebase 定价的更多信息,请阅读《Google Firebase 定价傻瓜》。

Firebase 隐私

Firebase 的隐私政策支持《欧盟通用数据保护条例》(GDRP)和《加利福尼亚消费者隐私法案》(CCPA)。此外,Firebase 还通过了多项 ISO 和 SOC 认证,包括 27001、27017、27018、SOC1、SOC2 和 SOC3。

Firebase 会将非 Firebase 服务的服务数据提供给 Google。该选项默认为选中,用户必须取消选中才能避免。

Firebase 数据收集

Firebase 功能

Firebase 拥有满足开发人员需求的各种高级功能。(27)

其功能分为构建、发布与监控和参与。Firebase 作为后端可用于移动应用程序开发的不同阶段。

Firebase 功能类别说明
Firestore建设基于云的 NoSQL 数据库,用于数据存储和同步。
实时数据库建设云托管数据库可实现跨平台的实时数据同步。
远程配置构建、发布、参与无需部署新版本,即可修改应用程序的行为和外观。
Firebase 扩展建设一套用于扩展 Firebase 功能的预打包解决方案。
应用程序检查建设有助于保护您的后台资源不被滥用,如账单欺诈或网络钓鱼。
云功能建设无服务器框架,用于运行后端代码以响应事件。
认证建设、参与通过各种方法提供用户身份验证和管理。
云信息传递建设、参与以可靠的方式跨平台传递信息的服务。
托管建设提供快速部署和安全交付的虚拟主机。
云存储建设具有强大数据访问控制功能的云文件存储解决方案。
Firebase ML建设将机器学习集成到您的应用程序中,只需极少的专业知识。
Crashlytics释放,参与实时崩溃报告工具,有助于跟踪、优先处理和修复稳定性问题。
Google分析发布详细了解应用程序的使用情况和用户参与情况。
性能监测发布监控应用程序性能,以便快速发现并解决问题。
测试实验室发布在真实和虚拟设备上进行基于云的应用程序测试。
应用程序分发发布管理应用程序测试版的发布。
A/B 测试参与进行实验,通过可控的用户体验来改进应用程序。
云信息传递参与通过有针对性的、与上下文相关的信息吸引用户。
应用内消息参与在用户使用应用时发送信息,积极与用户互动。

让我们来详细了解每项功能。

数据库 – Firestore 和实时数据库

Firebase 平台的两个数据库是 Cloud Firestore 和 Realtime Database,它们都是满足现代应用程序开发要求的重要工具。

Cloud Firestore 又称 Google Firestore,是 Firebase 移动应用程序开发平台的一个组件。

从根本上说,它是一个基于云的 NoSQL 数据库,用于数据存储和同步。Firebase 用户可以通过本地 SDK 从移动或网络应用程序访问 Firestore。

云 Firestore 可与各种编程语言配合使用,如 Unity、C++、Java、Node.js SDK、REST API 和 RPC 支持。Firebase 的 Firestore 数据库旨在提供最佳性能、可靠性、自动扩展和基准可用性。

要了解有关 Firestore 的更多信息,请阅读文章What is Google Firestore(28)

Firebase 实时数据库是一种云托管数据库。它有助于基于 JSON 的数据存储,并与连接的客户端执行实时数据同步。

在使用 iOS、JavaScript 和 Android SDK 的跨平台应用程序开发过程中,实时数据库的单个实例可用作客户端。

它能让应用程序接收最新的更新和数据。由于数据库 SDK 在磁盘上进行数据持久化,因此离线应用程序可以保持响应速度。它有助于在恢复连接后将设备同步到当前的服务器状态。(29)

要了解有关云 Firestore 和实时数据库之间区别的更多信息,请阅读Firestore vs. 实时数据库文章。

  • 远程配置

Remote Config 是一种云解决方案,可让用户在不更新应用程序的情况下修改其行为和外观。

用户还可以为应用程序行为和外观维护创建应用程序内的默认值。(41)

  • Firebase 扩展

Firebase 扩展是预打包的解决方案,可通过自动化日常任务帮助简化开发流程。

从本质上讲,它们是一组可配置、可部署的代码,可无缝集成到 Firebase 和其他 Google Cloud服务中。

开发人员可以使用这些扩展实现各种功能,如调整图片大小、触发电子邮件或与第三方服务同步。它们减少了编写模板代码的需要,从而加快了项目开发。

通过简化复杂的操作,Firebase Extensions 允许开发人员将更多精力放在构建独特的应用功能上,从而提高应用开发生命周期的效率和生产力。

  • Firebase 应用程序检查

Firebase App Check是一项安全功能,旨在保护 Firebase 后端资源免受欺诈性和有害流量的侵害。

它可验证传入 Firebase 服务的请求确实来自真实可信的应用程序。

App Check 通过使用应用程序证明(数字令牌)来实现这一目标,数字令牌可确认提出请求的应用程序的合法性。

通过集成 App Check,开发人员可以有效防止未经授权的访问和滥用,如账单欺诈或未经授权的数据检索,从而增强 Firebase 实施的整体安全性。

  • 云功能

Firebase 云函数指的是一种无服务器框架,它使开发人员能够执行后端代码,以响应 HTTPS 和 Firebase 功能触发的事件。

Google Cloud 可存储 TypeScript 或 JavaScript 代码,并可在托管环境中执行。(31)

它降低了扩展和管理服务器的要求。有关云函数的更多信息,请阅读文章什么是 Firebase 云函数?

  • 认证

身份验证是 Firebase 的一项功能,可为用户应用程序身份验证提供即用型用户界面库、后端和便捷的 SDK。

支持通过电话号码、密码以及Google、Twitter 和 Facebook 等提供商进行身份验证。(32)

身份验证可与不同的 Firebase 服务集成,它使用 OpenID Connect 和 OAuth 2.0,并允许自定义后台集成。

有关 Firebase 身份验证的更多信息,请阅读文章《什么是 Firebase 身份验证?

  • 云信息传递

Firebase Cloud Messaging 或 FCM 是一种跨平台的免费信息服务。该功能可让应用程序所有者在需要同步数据或电子邮件时通知客户端应用程序。(33)

FCM 可让应用程序所有者发送通知,以提高用户保留率并吸引用户。云信息可为即时信息提供高达 4kb 的有效载荷传输。

有关 FCM 的更多信息,请阅读文章《什么是 Firebase 云消息服务?

  • 托管

Firebase 具有各种可扩展的敏捷托管功能,适用于微服务、网络应用程序和其他几种内容类型。

内容可以跨类别托管,用户可以利用 SSL 保护和单击回滚功能。(34)

有关 Firebase 虚拟主机的更多信息,请阅读文章:什么是 Firebase 主机?

  • 云存储

Firebase 的云存储功能是一种用于存储应用程序开发资源(包括对象)的服务。

用户可利用该功能获得 Google 级别的上传和下载安全性,适合存储媒体文件和用户内容。(35)

要了解有关 Firebase Storage 的更多信息,请阅读文章Firebase Storage

  • 机器学习

Firebase ML 是一款移动 SDK,它利用Google机器学习的强大功能,通过一个便捷的软件包将其应用到 iOS 和 Android 应用程序中。(30)

利用 Firebase ML 的机器学习功能适合任何经验水平的人。

您不需要对模型优化或神经网络有深入的了解。经验丰富的开发人员可以使用 Firebase ML Kit API 利用 TensorFlow Lite 模型等移动应用程序。

有关 Firebase ML 的更多信息,请阅读文章《什么是 Firebase 机器学习?

  • Crashlytics

Crashlytics 是 Firebase 的实时崩溃报告器,可帮助开发人员跟踪、优先处理和解决各种问题。Crashlytics 功能可用于预防可能出现的稳定性问题。(36)

要了解有关此工具的更多信息,请阅读文章《什么是 Crashlytics》。

  • Google分析

Google Analytics是一款先进的分析工具,可以详细了解应用程序的使用情况和用户参与度。

它与 Firebase 无缝集成,使开发人员能够跟踪用户行为、衡量应用程序性能并分析数据,从而做出明智的决策。

通过集成,可以从 Firebase 应用程序中捕获丰富的基于事件的数据,全面了解用户与应用程序的交互情况。

它有助于了解用户人口统计、应用程序使用模式和其他关键性能指标。

通过利用 Firebase 和 Google Analytics 的这一组合功能,开发人员可以通过统一的分析界面来定制自己的应用程序,以更好地满足用户需求、优化用户体验并推动有效的营销策略。

  • 性能监测

Firebase 性能监控服务可帮助您深入了解 iOS、Android 和 Web 应用程序的性能特征。(38)

您可以使用性能监控 SDK 从应用程序中收集性能数据。这有助于了解应用程序的性能在何时何地可以得到改善,从而利用这些信息解决性能问题。

  • 测试实验室

Firebase Test Lab 是用于应用程序测试的云基础设施。它让用户可以跨多种设备和配置测试其 iOS 和 Android 应用程序。(39)

用户还可以在 Firebase 控制台中查看结果,包括屏幕截图、日志和视频。

  • 应用程序分发

Firebase App Distribution 是一项可全面查看用户在 Android 和 iOS 平台上的 beta 测试程序的功能。用户可以在新版本进入生产阶段之前获得有用的反馈。(40)

用户可以使用 CI 服务器或控制台发送应用程序的早期版本。测试人员也能更方便地安装应用程序。

  • A/B 测试

A/B 测试是 Firebase 的一项功能,它通过改进应用程序管理、扩展和分析,帮助开发人员提供更好的应用程序用户体验。

用户可以在应用程序发布前快速测试对用户界面、功能和活动所做的修改。(43)

  • 应用内消息

应用内消息是 Firebase 的一项功能,用于使用上下文消息吸引活跃的应用用户。用户可以执行特定的应用内操作,以访问不同的功能或解锁某些产品。(45)

Firebase 替代品

尽管 Firebase 是一个出色的应用程序开发平台,但许多替代品也同样出色。如果您正在寻找 2024 年的 Firebase 替代品,我们在此推荐几种选择。

另类类别主要功能定价
Back4App开源、低代码数据模型、GraphQL/REST API、无服务器功能免费,无服务器 25 美元/月起
Parse开源框架易于使用的仪表板、应用程序接口、对象存储适配器免费下载
AWS Amplify全栈开发数据存储、身份验证、分析、应用程序接口免费层级,即用即付
Backendless可视化应用程序开发应用程序生成器、应用程序接口、实时数据库免费级别,每月 15 美元起
Kuzzle物联网和后台物联网套件、后端、PaaS免费,支持计划每月 500 欧元起
Supabase开放源代码数据库、仪表板、身份验证免费级别,每月 25 美元起
Appwrite开源服务器数据库、存储、地理、功能入门免费,从 15 美元/会员/月起
Ably实时基础设施PubSub 频道、多用户环境免费层级,即用即付
Hasura图形QL 引擎图形QL API、缓存、安全免费级别,专业人员 1.5 美元/小时起
Nhost无服务器后台实时数据库、GraphQL API免费级别,每月 25 美元起

结论

本文介绍了 Firebase 的优势、劣势、定价结构、核心功能和最佳替代平台。

Firebase 是 Google 的移动应用程序开发平台。它的优势包括端到端的开发环境、更快的应用程序上市时间以及可扩展的基础设施。

虽然 Firebase 是一款出色的产品,但它也有缺点。它是一个闭源平台,被供应商锁定,而且只提供 NoSQL 数据库。

在定价方面,Firebase 有两种不同的计划。第一种是 Spark,它提供了宽松的免费层级,包含了 Firebase 的大部分功能。

付费计划名为 “Blaze”,采用基于使用量的模式。它根据使用的工作量向应用程序收费。

Firebase 将其功能分为三大类:构建、发布和监控以及参与。这些功能都适用于应用程序开发周期的各个阶段。

Firebase 有很多竞争对手,包括 Back4app、Backendless、AWS Amplify 和 Parse。
希望这篇文章能帮助你更好地了解 Firebase,并决定是否使用这项服务。

今日 Firebase 替代品

Leave a reply

Your email address will not be published.