什么是 Firebase?-为您揭开其中的奥秘

什么是 Firebase?-为您揭开其中的奥秘
什么是 Firebase

本文将深入分析 Firebase,介绍其利弊、定价结构和核心特性。本文将包括以下方面:

  • Firebase概述
  • Firebase 发展历史
  • 使用Firebase 的著名应用
  • 使用Firebase的应用类型
  • Firebase 的优缺点
  • Firebase 定价
  • Firebase 核心特性 
  • Firebase竞品总览
  • 结论

开发健壮和高质量的移动应用程序是一个需要付出很多努力的命题,但更重要的是,需要一个功能强大且功能丰富的开发平台。

来自 Google 稳定版的 Firebase 就是这样一个平台,它已经赢得了全球开发者的支持。

Firebase 为开发者提供了许多选项,能够创建功能强大、多样的 web、 Android 和 iOS 平台应用程序。

虽然在应用程序开发领域存在有几个竞品,但 Firebase 总是在与当前最好的平台进行合作交流。

请继续阅读,深入了解 Firebase 及其功能。

什么是 Google Firebase?

Firebase 是一个来自 Google 的移动应用程序开发平台,具有强大的开发、处理和增强应用程序的功能. (1)

本质上是一个开发人员可以依赖的工具集合,可以根据需求创建应用程序并对其进行扩展。

旨在为开发者解决三个主要问题:

  • 快速开发应用
  • 充满信心地发布和监控应用程序
  • 吸引用户

依赖这个平台的开发人员可以访问他们必须自己开发的服务,这使他们能够专注于提供强大的应用程序体验。

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

由于这些服务基于云托管,开发者可以顺利地进行按需扩展,而没有任何麻烦。Firebase 目前是全球开发者所依赖的顶级应用开发平台之一。

Firebase 发展历史

Firebase 的发展历史相当有趣,许多初创公司都有着跌宕起伏的发展史。Firebase起源于Envolve,这是一家由 Andrew Lee 和 James Tamplin 于 2011 年初创的公司。(2, 3, 4)

该公司为开发人员提供了一个网页可以集成使用的在线聊天的API。Envolve 的创始人发现他们的聊天服务被用来传递非聊天信息。

开发者依赖于这个平台来实时同步应用程序数据。Lee 和 Tamplin 决定将实时架构与聊天系统区分开来,这一举动后来就导致在2011年 Firebase 的成立。该平台于 2012 年 4 月对外公开发布。

Firebase 发布的第一个产品是 firebase实时数据库。它是一个跨Android、 web 和 iOS 设备的应用程序数据同步的 API。应用程序开发者可以依赖这个平台来创建协同的实时应用程序。

Firebase 在 2012 年从Greylock Partners、 New Enterprise Associates、 Flybridge Capital Partners 和 Founder Collective 等投资者那里募集了超过 100 万美元的种子基金。2013 年 6 月,该公司还从 Flybridge Capital Partners 和 Union Square Ventures募集了 560 万美元资金 (5)

Firebase 于 2014 年推出了 Firebase 身份验证和 Firebase 托管服务,使该公司成为领先的移动后端即服务(MbaaS)提供商。

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

使用了 Firebase 的热门应用程序

下面是一些 Firebase 客户案例。

  • 阿里巴巴
  • 纽约时报
  • Todoist
  • 费加罗报
  • 易趣汽车

Firebase 可以开发什么类型的应用程序?

Firebase 是一个十分全面以及灵活的平台,它允许用户开发以下类别的应用程序:

  • Android
  • iOS
  • Web

Firebase 的优势

下面是使用 Firebase 的十大优势

  1. 免费开始
  2. 开发速度
  3. 端到端应用程序开发平台
  4. 由 Google 提供技术支持
  5. 开发人员可以专注于前端开发
  6. 无需服务器
  7. 它提供机器学习功能
  8. 为你的应用程序带来流量
  9. 错误监控
  10. 安全

想了解更多? 请参阅以下详情:

1. 免费开始

Firebase 一开始是免费的,并且允许用户使用他们的 Google 帐户登录. (7)

Firebase 的 Spark 套餐是免费的,提供了许多功能来帮助开发者入门。基于不断增长的需求,他们后期可以换到Blaze套餐。

Firebase 提供的免费入门绝对是一个不错的选择,这也是 Firebase 如此受欢迎的原因之一。但Spark 套餐有大规模数据库读写限制。

Firebase 的另一个优势是 Blaze 套餐考虑到了起步免费套餐的限制。

例如,假设您将在 Blaze Plan 上有着 20gb 的存储空间。免费限额是10gb,这意味着 Firebase 只收取另外10gb 的额外使用费。

2. 开发速度

Firebase 是一个合适可选的应用程序开发平台,可以帮助开发人员节省时间,提前应用程序发布的时间。

通常,每个开发者都需要访问服务器和主机来创建和维护数据库和后端服务。

因此,有一个后端开发人员和一个前端开发人员是构建应用程序的必要条件。即使对于那些后端和前端需要在不同阶段进行协作的小型应用程序也是如此。

拥有前端和后端开发人员常常意味着错误和问题,从而导致应用程序问题,增加开发成本和复杂性。

然而,使用 Firebase 可以让前端开发人员管理所有的工作,并减少完成所需的时间。

除此之外,Firebase 还提供了多种随时可用的服务,这些服务可以避免开发人员使用样板代码、重造轮子以及从头开始创建后端。

一些容易理解的例子包括通知、单点登录和分析。

3. 集成在单一平台上(大量的服务)

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

首先,有两个数据库选项,分别是 Firestore 数据库和 Firebase Realtime 数据库。同样,Firebase 允许你毫不费力地进行云媒体存储,并通过集成的云功能实现无服务器应用程序开发。

Firebase 覆盖了整个应用程序开发周期,该平台包含构建、发布和监控应用程序的特性。同时,作为应用程序开发周期的最后一步,它也提供了能够吸引用户并留存用户的工具。

4. 由 Google 提供技术支持

Firebase 由 Google 提供技术支持,Google 是科技界最著名、最受信任的公司之一。

自从它被收购以来,Firebase 经历了一系列的变化和发展才成为了今天的可靠平台。它借助了谷歌云计算和许多谷歌服务带来的力量。

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

自从 Firebase 被收购以来,Google 一直大量对该平台上进行投资,致力于提供一个更强大的产品。

5. 关注前端开发

世界范围内的开发者更喜欢 Firebase,因为它可以让他们专注于为移动应用程序创建前端代码。

Firebase 减少了开发样板后端代码的需求,提前了应用程序的开发完成日期。

Firebase 使得应用程序开发更加方便,并且有助于降低成本。

使用 Firebase 还允许开发人员和公司使用统一且易于学习的技术使后端环境标准化。

后端模式减少了完成上述工作所需要的培训量,并且让前端专注的开发人员能够完成大多数工作。

6. 它是无服务器的

扩展和关闭服务器并不是一件容易的事情!尤其是扩展数据库集群十分具有挑战,包含巨大工作量的性能优化需要有经验的工程师才能完成。

Firebase 解决了这个问题,并提供了一个完全无服务器的环境。

Firebase 提供了一个无服务器架构,要求用户根据请求付费,不需要管理或担心服务器基础设施。

它不同于传统服务器,传统服务器必须始终保持正常运行。

由于无服务器的原因,Firebase 用户只有在需要使用服务器的情况下才需要支付费用。

因此,由于更高的效率,与扩展相关的问题就少了。

开发人员可以不用亲自动手处理 DevOps、设置、基础设施和容量规划。

7. 机器学习

机器学习正处在重塑信息技术领域的边缘。在很多领域它已经发展地如火如荼。

根据 Gartner 的数据,30% 的企业将在其业务流程的其中一个部分使用机器学习 (10)

Firebase 也很有优势,因为它为开发者提供了依赖机器学习的选项。

无论 iOS 和 Android 开发人员的经验水平如何,他们都可以使用机器学习。

Firebase 提供了一个机器学习工具包,该工具包包含针对不同移动平台的 api,如文本识别、人脸检测、图像标签、条形码扫描等。

开发人员可以根据他们的应用程序开发需求选择使用云或设备上的 api。

8. 带来流量 

Firebase 通过在 Search 上提供应用程序链接,促进应用程序索引,让用户重新与 Google 搜索用户建立联系。 (11)

应用程序的排名也可以通过索引一个应用程序来提高一次,这有助于你的应用程序获得可以安装它的新用户的曝光率。

开发人员可以依靠 Android Instant 应用程序来访问应用程序内容。

9. 监控错误

Firebase 的 Crashlytics 特性是一个非常棒的工具,可以快速查找和修复问题。Firebase 可以监控非致命性和致命性错误,并根据错误如何影响用户体验生成报告。 (12)

10. 备份 

Firebase 通过定期备份确保数据的最佳安全性和可用性. (13)

这些应用程序依赖于这个平台的自动备份功能,可以降低数据丢失的可能性。

Blaze 套餐的用户可以轻松地配置 firebaserealtimedatabase 以进行自动备份。点击 Firebase Database 的 Backups 选项卡可以访问自动备份设置。

Firebase 的局限性

尽管 Firebase 是一个很棒的平台,但它也存在一些缺点。

  1. 它不是开源的
  2. 供应商锁定
  3. 在很多国家都不能正常使用
  4. 只有 NoSQL 数据库可用
  5. 查询很慢
  6. 并非所有服务都可以免费开始使用
  7. 它并不便宜,价格也难以预测
  8. 只能在谷歌云上运行
  9. 专用服务器和企业支持不在选项之列
  10. 不提供 GraphQL api

让我们从更大粒度来探索 Firebase 的局限性:

1. 它不是开源的

Firebase 对于移动应用开发来说不是开源的,这使得它成为许多开发者的次优选项。

用户无法修改 Firebase 源代码,因为它是封闭源代码。由于这个限制,许多喜欢 Firebase 特性的开发者最终使用其他平台。

虽然这个平台不是开源的,但是需要强调的是很多库和 sdk 都可以在 GitHub 上使用. (14

这可能是 Firebase 的最大限制,并且阻止了社区改进产品、增加灵活性水平以及为无法负担 Firebase 定价的开发人员提供自主托管选项。

2.  供应商锁定

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

这是阻止一些开发人员选择该平台的一个重要原因。对于一些开发者来说,不能访问源代码是相当难受的。

特别是对于大型应用程序来说,转移到其他供应商并不是一件容易的事情,要做到这一点,整个后端需要从头开始重建。

3.  Firebase 在许多国家不能正常工作

Firebase 属于是 Google 的一个子域名,官方网站为https://Firebase.Google. com,其在许多国家被屏蔽。

谷歌已被屏蔽,在中国访问不了任何谷歌服务,因为中国已经屏蔽了诸如 * . googleapis. com 和 * . googleapis. com 之类的URIs。

完整的国家名单,请参考《Transparency Report》。(15)

4. 仅适用于 NoSQL 数据库

Firebase 的数据库类别 Firestore 数据库和 Firebase Realtime数据库都提供了 NoSQL 结构,而且没有使用关系数据库的选项。 (16, 17)

  • 复杂的查询

用户使用 NoSQL 数据库面临的另一个挑战是复杂查询的实现。

尽管与 RTDB 相比,Firebase 对 cloudfirestore 进行了重大改进,但对于某些用户来说,运行复杂的查询仍然是一个挑战。

上面从 StackOverflow 中提取的例子描述了用户从 Parse 迁移到 Firebase 所面临的挑战 (18)

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

尽管这种情况有一个解决方案,用户可以使用 Firebase 编写复杂的程序,但对于使用该平台的初学者来说,实现起来可能并不简单。

  • 交易

StackOverflow 上有一个有趣的帖子,讨论了 Firebase 实时数据库如何处理 ACID 属性. (19)

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

  • 数据迁移并不像使用 SQL 数据库那样简单

根据第 5 条不使用 Firebase 的理由,使用 Firebase 时,用户不能像简单的 SQL 数据库那样快速地处理数据迁移。

Firebase 使用 JSON,而且实际上没有 SQL 特性,所以从数据库迁移不会那么容易。

5. 查询缓慢

并不是所有的数据库能够适用于所有的用例,Cloud Firestore 也不例外。

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

一些例子如下:

  • 写入频率限制为每秒 1 个;
  • 没有本地聚合查询;
  • 最大API请求大小 10mib;
  • 文档大小限制为 1mib;
  • 最大并发连接 1M;
  • 查询灵活性;
  • 查询会降低性能。

有两篇很棒的文章可以让你了解更多关于 Firestore 的限制。第一篇很棒的文章是为你的应用程序选择数据库时要知道的关于 Firestore 的前 10 件事,第二篇是 Cloud Firestore 查询速度慢的原因

6. 并非所有 Firebase 服务都可以免费开始使用

虽然大多数服务在 Spark套餐下可用,但也有一些例外。比如云函数和机器学习。 (7)

云功能仅在 Blaze 套餐上可用,用户不能在Spark 套餐下使用。

强调云功能的免费配额是很重要的,但是一旦用户超过了免费配额, Blaze Plan 就会收费。

在 Spark套餐下不可用的第二个服务示例是机器学习特性下的云视觉api。这项服务只对 Blaze Plan 用户开放,收费为 1.5 美元/千个 api。

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

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

这就是为什么许多开发者最终选择自主托管应用程序,比如 Digital Ocean,AWS,或者 Google Cloud。

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

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

使得 Firebase 昂贵的另一个方面是它是一种专有技术。

Firebase 必须在其用户基础上赚回项目投资。另一方面,开源技术可以利用社区开发的力量,提供一个更加经济实惠的解决方案。

Firebase 以基于使用的定价模型提供服务,而且没有办法限制定价。这个平台没有固定的定价套餐,跟踪资源使用情况可能会很麻烦。

对于一些用户来说,估算 Firebase 的成本是很困难的,特别是当可扩展性需求无法预测的时候。定价十分复杂,Firebase 对每个特性都有具体的定价。

对于这个平台来说,将成本控制在一个门槛以下相当具有挑战性,而且没有办法对账单设置上限或硬性限制。

In the past, Firebase used to offer the Flame plan. That was a fixed price $25/month plan, but it was retired in January 2020.  (23, 24)

价格结构的改变给一些用户带来了不便,而且在某些情况下,随着用户使用支付方式而增加了收费。想知道更多关于这个话题的信息,请阅读《Firebase cost Increased by 7000%》这篇文章!.

请注意,基于使用的结构不一定是坏事!大多数 IaaS 提供商,如 AWS 或 Azure 也使用这个原则。

从积极的一面来看,它将为您所消耗的资源收费,并提供更大的粒度级别。

在使用这种模式之前,请确保你了解账单是如何工作的,并定期监控你的成本,以避免月底出现意想不到的收费。

8. 只能在 Google Cloud 上运行

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

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

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

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

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

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

另外,由于共享邻居噪声太大,共享资源可能无法提供最佳性能。

无服务器环境对于应用程序来说是一个很好的选择,因为它的工作负载会随着时间的推移而波动。例如,一天或者一周的高峰和低谷。

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

另一方面,几个应用程序的工作负载波动不会很大,但可能需要定制的安全设置或一些服务器级访问。一个无服务器的结构将不足以应对这种情况,而专门托管一个更合适的选择。

Firebase 不提供企业定价套餐、合约或者协助,这对许多潜在用户来说是一个重要的问题。然而,Blaze 套餐可以被认为是一个适合企业级开发者需求的选择。

10. 不提供 GraphQL api

Firebase 不提供 GraphQL api 作为标准设置的一部分。尽管使用Firebase 实现 GraphQL 有一些变通方法,REST 仍然是平台的默认选项。

要了解更多关于 GraphQL 和 Firebase 的信息,请在 StackOverflow 上查询这个问题 (26)

Firebase 定价

Firebase 为其用户提供了一个免费且基于使用情况的套餐。然而,没有固定和统一价格的套餐供用户选择和开始使用。(7)

套餐描述
Spark
(免费套餐)
Firebase 的 Spark Plan 是免费的,提供 10gb 的主机、 SSL、多个网站、自定义域名和其他一些服务。它有一些有用的特性,如 Firebase ML,Realtime Database,Cloud Firestore 和Test Lab。这些都是 Firebase Spark Plan 可以提供的选项。
Blaze
(即用即付)
Firebase 的 Blaze Plan 可以随时支付,灵活的定价模式。它带有 Spark Plan 的所有特性,以及一些额外的特性来改善开发体验。有了这个套餐,用户必须支付 0.026 美元/GB 的托管费用,每 GB 的存储费用也是一样的。许多 Spark 套餐的限制在Firebase Blaze 套餐中被取消了。Firebase 网站上提供的 Blaze Plan 计算器可以作为计算预算成本的便利工具。

Free 套餐有一些限制,例如,不允许开发者访问云功能。

Blaze 是针对不同特性集(即 Cloud Firestore、 Cloud Functions、Authentication、 Hosting、 Firebase ML、 Realtime Database 和 Storage) 的分段定价套餐。

  • Firebase提供永久免费服务

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

无论你选择什么套餐,这些服务都可以免费使用。让我们来看看平台上提供的“永久免费”的不同服务。

  • 面向测试人员的应用程序交付。
  • 应用索引,让搜索引擎索引应用
  • 用于 a/b 测试的不同用户特定的应用程序版本部署
  • 性能预测和报告
  • 通过集成消息传递的活跃应用用户的交互
  • 通过 Android、 iOS 和 web 应用程序的 Firebase Cloud 消息自动通知和用户信息。
  • 应用程序性能监控
  • 使用 Firebase crash lytics 进行应用程序崩溃检测
  • 使用动态链接跨不同平台进行用户重定向
  • 远程应用程序功能定制
  • Firebase 机器学习组件使预测能够告知返回的应用程序用户。
  • Firebase付费服务

可以访问 Firebase 控制台的 Usage 选项卡,以检查不同 Firebase 服务的套餐支付状态和使用相关数据。

  • Storage 选项卡-Storage 选项卡显示数据库中的总数据量,除了存储在其他 Firebase 产品中的数据。
  • Connections 选项卡 — Connections 选项卡包含有关包括 websocket 在内的实时连接总数的信息。
  • Load 选项卡ー该选项卡包含应用程序负载的图形显示,并在指定时间内向用户展示这些数据。
  • Downloads 选项卡ーー它包含与从数据库下载的数据总量有关的信息。

Firebase 特性

Firebase 为开发者提供了大量的高级特性 (27)

它的主要特性可以归类为 Build、 Release & Monitor 和 Engage。这些都可以在移动应用程序开发的不同阶段使用。

目录特性
构建– 数据库(Firestore + RTDB)
– 机器学习
– 云功能
– 认证
– FCM
– 代理主机
– 存储
发布& 监控– 崩溃记录
– 分析
– 性能监控
– 测试实验室– 应用分发
交互– 远程配置
– 预测
– A/B测试– 动态链接– 应用内置信息

Firebase 构建特性

Build 是 Firebase 的一个扩展特性集,包含各种组件,使开发人员能够了解他们的应用程序开发需求。

这些包括两个不同的数据库和数据存储、处理、认证和机器学习的其他特性。

  • 数据库

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

Cloudfirestore,也称为 google firestore,是 Firebase 移动应用程序开发平台的一个组件。它基本上是一个基于云的NoSQL 数据库,用于数据存储和同步。Firebase 用户可以通过本地 SDKs 从移动或 web 应用程序访问 Firestore。Cloud Firestore 可以用于各种编程语言,如 Unity,c+ + ,Java,Node.js SDKs,以及对 REST api 和 RPC 的支持。Firebase 的Firestore 数据库旨在提供最佳性能、可靠性、自动扩展和基准可用性。 (28)

Firebase 实时数据库是一个云托管数据库。它促进了基于 json 的数据存储,并与连接的客户端执行实时数据同步。Realtime 数据库的单个实例在使用 iOS、 JavaScript 和 Android SDKs 的跨平台应用程序开发过程中起到客户端的作用。它允许应用程序接收最新的更新和数据。离线应用程序能够保持响应,因为数据库 SDK 执行磁盘上的数据持久化。它帮助同步设备在恢复连接后呈现服务器状态。(29)

  • 机器学习

Firebase ML 指的是一种移动 SDK,它利用了 Google 机器学习的能力,并通过一个方便的包来实现 iOS 和 Android 应用程序。 (30)

使用 Firebase ML 的机器学习功能对任何人来说都是非常适合的,不管他们的经验水平如何。你不需要对模型优化或者神经网络等方面有深入的了解。经验丰富的开发者可以使用 Firebase ML Kit APIs 来利用移动应用 TensorFlow Lite 模型。

  • 云功能

Firebase Cloud Functions 指的是一个无服务器框架,它允许开发人员执行后端代码,以响应HTTPS 和 Firebase 特性触发的事件。Google 云用于存储 TypeScript 或 JavaScript 代码,可以在托管环境中执行。(31)

  • 身份验证

身份验证是 Firebase的一个特性,为用户应用程序身份验证提供了现成的 UI 库、后端和方便的 sdk。身份验证可通过电话号码、密码和诸如Google、 Twitter、 Facebook 等提供商来提供技术支持。(32)

身份验证能不同 Firebase 服务进行集成,它利用 OpenID Connect 和 OAuth 2.0,并允许自定义后端集成。

  • 云消息

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

FCM 允许应用程序所有者发送通知来提高留住率和吸引用户。云通讯为即时通讯提供了高达 4kb 的有效负载传输。

  • 代理主机

Firebase 为 Microservices、 web 应用程序和其他几种内容类型提供了各种可扩展和敏捷的托管功能。内容可以跨不同类别托管,用户可以使用SSL 保护和一键版本回滚。 (34)

  • 云存储

Firebase 的 Cloud Storage 特性是一个用于存储应用程序开发资源(包括对象)的服务。用户可以通过这个功能访问 google 安全级别的上传和下载,它适合存储媒体文件和用户内容。 (35)

Firebase 发布和监控功能

Release & Monitor 是一个 Firebase 特性集合,为准备已久的应用程序发布做准备。它提供了一系列的测试、分析和发布工具,以确保用户的应用体验更加流畅。

  • 崩溃记录

Crashlytics 是 Firebase 的实时崩溃报告程序,可以让开发人员跟踪问题,对问题进行优先排序,并解决问题。Crashlytics 特性可以用来防止可能出现的稳定性问题。 (36)

  • 分析

Firebase 用户可以使用与 Firebase 集成的 google分析的特性。用户可以使用分析功能为多个Firebase SDK 事件执行无限制的报告。开发者可以通过分析用户行为来做出更好的决策。 (37)

  • 性能监控

Firebase Performance Monitoring 是一个帮助您了解 iOS、 Android 和 web 应用程序性能特征的服务。 (38)

你可以使用 Performance Monitoring SDK 从你的应用程序中收集性能数据。它可以帮助你了解在何时何地你的应用程序的性能可以得到改善,这样你就可以利用这些信息来解决性能问题。

  • 测试实验室

Firebase Test Lab 是一个用于应用程序测试的云基础设施。它允许用户通过跨多种设备和不同设备配置的操作来测试他们的 iOS 和 Android 应用。 (39)

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

  • 应用分发

Firebase App Distribution 是一个提供用户跨 Android 和 iOS 平台的 beta 测试程序全面视图的功能。用户可以在新版本的生产阶段之前收到有用的反馈。 (40)

用户可以使用 CI 服务器或控制台发送早期版本的应用程序。对于测试人员来说,应用程序的安装也变得更加容易。

Firebase 交互特性

Engage 是一个 Firebase 功能集,可以让应用程序所有者和开发团队接触并吸引客户。它有一些先进的工具来增强用户参与过程。

  • 远程配置

Remote Config 指的是一种云解决方案,允许用户修改应用程序的行为和外观,而无需更新它们。用户还可以为应用程序行为和外观维护创建默认的应用程序内值。 (41)

  • 预测

Firebase Predictions 是一个有用的特性,它利用机器学习数据来开发基于行为的动态用户模块。自动预测可以通过Firebase远程控制、 应用内消息、 a/b测试 和 Firebase 通知合成器实现。

  • A/b 测试

A/b 测试是 Firebase其中一个特性,通过改进应用管理、扩展和分析,帮助开发者提供更好的应用用户体验。用户可以在应用发布前快速测试对用户界面、功能和活动的修改。(43)

  • 动态链接

Firebase 动态链接是一种智能 url,应用程序管理器可以将潜在用户和当前用户引导到 Android 或 iOS 应用程序的不同部分。这个功能可以在不受安装影响的情况下工作,并且它允许新用户在应用程序初始启动时访问内容。

  • 应用程序内消息

应用程序内消息是Firebase其中一个功特性,用于通过上下文消息吸引活跃的应用用户。用户可以执行特定的应用内操作来访问不同的功能或解锁特定的产品。 (45)

Firebase 替代品

尽管 Firebase 是一个优秀的应用程序开发平台,但许多替代方案同样引人注目。如果你正在寻找 2021 年的 Firebase 替代品,以下是我们推荐的产品。

Back4app

Back4App 是一个广泛使用的开源平台,它使用一个低代码开发需求的后端来加速应用程序的开发。

它有着高度功能性和丰富的功能,能满足了许多应用程序开发人员的需求。Back4App 平台便于应用程序的开发、托管和管理,也是托管网络、移动和物联网应用程序的可靠选择。

有了这个 Firebase 替代品,用户可以利用数据库,实现快速高效的数据更新和同步。开发者可以同时使用 GraphQL 和REST api,并利用实时查询实现即时数据存储和同步。

Backendless

Backendless 是一个著名的移动后端服务,提供各种强大的应用程序开发和管理工具。

它为用户提供了专用、云和托管服务器的选项,以适应不同的开发需求。

Backendless 数据库允许开发者依靠缓存来提高应用速度。它还允许用户执行集中的日志文件管理,以提高应用程序的效率。

Geolocation 是其另一个方便的特性,能用于开发与位置感知相关的应用程序。

AWS Amplify

AWS Amplify 为 AWS 全堆栈应用程序的开发提供了许多特性。它是移动和前端开发项目的首选。

其中一个突出的特性是 Analytics,它适用于计算用户行为,同时它也有方便的度量和自动跟踪功能。AWS Amplify 的推送通知有助于提高客户参与度,使客户目标更加明确。

用户还可以从平台的同步和存储特性中受益。

Parse

Parse 自 2016 年创建以来一直是个领先开源后端框架,它提供了一组十分全面的特性功能,如类似电子表格的数据库、api、通知、身份验证和存储。

Kinvey

Kinvey 是一个用于多通道应用程序开发的无服务器应用程序开发平台,它通过云后端和 sdk 工作。

这种无服务器后端侧重于应用功能和提供高质量的用户体验。

它为跨平台应用程序提供了代码共享,并方便了代码的管理。Kinvey 可以作为角度开发的首选,让用户可以访问原生api。

结论

本文阐述了 Firebase 的优点、缺点、定价结构、核心特性和最佳替代平台。

Firebase 是 Google 的移动应用开发平台。它的优势包括端到端的开发环境,更快的上市时间来创建应用程序,以及可扩展的基础设施。尽管 Firebase 是一个很棒的产品,但它也有缺点。它是一个封闭源代码的平台,有供应商锁定,并且只提供 NoSQL 数据库。

定价明智的 Firebase 有两种不同的套餐。第一个是 Spark,它慷慨地提供了免费使用,包含了 Firebase 的大部分功能。付费套餐名为Blaze,它采用基于使用率的模式,并根据使用的工作负载对应用程序进行收费。

Firebase 将其特性分为三大类: Build(构建)、 Release & Monitor(发布&监控) 和 Engage(交互)。这些都是在应用程序开发周期的不同阶段使用的。

Firebase 有很多竞争品,其中比较突出的是 Back4app、 Backendless、 AWS Amplify、 Kinvey 和 Parse。

希望本文能够帮助您更好地理解 Firebase,并做出使用或不使用该服务的明智决定。

常见问题解答

什么是 Firebase?

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

Firebase 的核心特性是什么?

核心功能包括数据库管理、文件存储、云代码、分析、可扩展托管和机器学习。

Firebase 的最佳替代品是什么?


Leave a reply

Your email address will not be published.