最近在研究和使用Firebase,深深为其强大和完善的功能所折服。百度上搜了一些关于Firebase的资料,感觉都很陈旧,而且语言干瘪晦涩。今天我就来讲一下什么是Firebase,firebase是用来作什么的。
Firebase是用于“构建,改进和增长您的应用程序”的一整套工具,可以理解为是一个工具箱装满了各种工具,它为您提供的工具涵盖了开发人员通常必须自行构建的大部分服务。 但实际上开发者并不想构建,因为他们宁愿专注于应用程序体验本身。 这包括诸如分析,身份验证,数据库,配置,文件存储,推送消息之类的东西。 这些服务托管在云中,开发人员几乎无需费力即可扩展。当我说“托管在云中”时,是指这些产品具有由Google完全维护和运营的后端组件。 Firebase提供的客户端SDK可直接与这些后端服务交互,而无需在您的应用程序和服务之间建立任何中间件。
这与传统的应用程序开发不同,传统的应用程序开发通常涉及编写前端和后端软件。 前端代码仅调用后端公开的API端点,而后端代码实际上可以完成工作。 但是,使用Firebase产品时,将绕过传统的后端,从而将工作投入客户端。
![](https://img.haomeiwen.com/i2283730/a9d0c616e4edb353.png)
Firebase到底是什么,有什么用处
某些人可能将Firebase称为“平台即服务PaaS”或“后端即服务BaaS”
如果您是“后端工程师”,那么您可能会听到此消息,并认为您的工作正在被淘汰! “ OMG,不需要后端工程师了-现在我必须学习前端开发!” 确实并非如此,因为出于各种原因,有些事情应该放在后端。 Firebase意识到了这一点,并提供了一种进行某些后端开发的方法,这对您使用的应用程序很有意义。 因此,请放心,您的工作很安全,稍后我将详细介绍。
由于Firebase产品的工作方式,某些人可能将Firebase称为“平台即服务PaaS”或“后端即服务BaaS”。Platform as a software, Backend as a software.我觉得这样说太官方或者抽象了,无助于本文的主题。所以我们继续看。
Firebase功能一览
![](https://img.haomeiwen.com/i2283730/d04dfa9b942b8dbf.png)
一图胜千言,上面一张图大概列出了Firebase的功能。
Firebase适合什么类型的应用程序?
Firebase产品可以帮助您实现的应用程序类型实际上没有任何限制。 可以使用的平台仅有一点点限制。 iOS和Android是Firebase SDK的主要目标,并且对Web,Flutter,Unity和C ++的支持越来越多。 您还应该知道,有一个适用于多种语言的Admin SDK,可与您可能需要的任何后端组件一起使用。在这些SDK之上,还有一个名为FirebaseUI(Android,iOS,Web)的库,该库提供了许多有用的实用程序,使Firebase的开发更加轻松。 还有一些项目,例如AngularFire,这些项目包装了可与Angular一起使用的Web SDK。 这些是开源的,Firebase喜欢开源。
我的朋友用Firebase做游戏APP,做社交APP,为了解Firebase产品在应用程序中的实际作用,我将通过上图中的各个产品进行介绍。 您以这种图像的方式看到了三大类产品:“制造”,“改善”和“增长”(但是这些分类并不严格)。
Firebase可以用来生产制作APP
身份验证-用户登录名和身份
实时数据库-实时,云托管,NoSQL数据库
Cloud Firestore —实时,云托管,NoSQL数据库
云存储-大规模可扩展的文件存储
云功能-“无服务器”,事件驱动的后端
Firebase托管-全球虚拟主机
ML套件-用于常见ML任务的SDK(机器学习)
等等
![](https://img.haomeiwen.com/i2283730/a955f11219d0dd5d.png)
Firebase可以发展和增长你的APP,吸引并保留用户
分析-了解您的用户以及他们如何使用您的应用
预测-将机器学习应用于分析以预测用户行为
云消息传递—向用户发送消息和通知(FCM)
远程配置-无需部署新版本即可自定义您的应用; 监控变化
A / B测试-进行市场营销和可用性实验,以了解最有效的方法
动态链接-启用本机应用程序转换,用户共享和市场营销活动
App Indexing —通过Google搜索集成重新吸引用户
应用内消息传递-向活跃用户发送定向消息(FIAM),engage active customers
对于云消息和APP内消息,这里多说几句。Firebase in APP Messaging可帮助您向用户显示有针对性的,可自定义的消息,以使用您的应用程序的关键功能。 您可能想知道这与FCM有何不同?”这里的主要区别在于,FCM的消息来自您控制的服务器(包括Firebase控制台),而来自FIAM的消息来自于内部的服务器,确保在您的用户实际使用该应用程序时显示该消息。 但是FCM和FIAM的相似之处在于它们都与Analytics(分析)和Predictions紧密集成。FCM是推送通知,FIAM是应用内消息。
关于上面列表中提到的远程配置:您可以动态更改应用程序的行为和外观,而无需发布更新。 Remote Config的总体思路是,您可以在Firebase控制台中定义一堆配置参数。 然后,您的应用程序使用SDK定期获取这些值并根据需要使用它们。 您可以将Remote Config视为一组庞大的云托管键/值对,key value pair。 这听起来像是一个简单的数据库,但是您可以做的事比最初想象的要多得多。
Firebase A / B测试进一步提高了Analytics(分析),Remote Config和FCM之间的紧密集成。 我想您正在不断对应用程序进行更改,这很好。 但是,除非您自己进行学习,否则您可能无法提前确定它会带来帮助还是伤害。 如果您没有这些资源,则可以进行自己的研究,并用数据进行备份。 如果您能确定衡量成功的方法,则可以使用Firebase A / B测试进行实验,然后再对少数用户进行实验,然后再做出决定。
Firebase Dynamic Links建立在深度链接概念的基础上,可将您的应用程序启动到特定屏幕。 如果用户已经安装了您的应用,则深度链接会非常有用,但是如果必须先安装它,则它们根本无法正常工作。 动态链接可以通过应用程序安装过程来改善这一点。 当用户单击动态链接并且尚未安装该应用程序时,他们会被定向到相应的应用程序市场进行安装,比如Google play store。 然后,当用户首次启动该应用程序时,将保留链接的上下文情景,并且该应用程序可以从您最初想要的体验开始。 哦对了,它们也可以跨平台使用,因此您无需为每个Android,iOS和网络应用程序都拥有不同的链接。
Firebase可以改善和提高APP的性能和稳定性
测试实验室-在云托管设备上进行可扩展的自动化应用程序测试
Crashlytics-对您的应用崩溃进行清晰,可行的分析
性能监控-深入了解您应用的性能问题
这部分功能更多是产品和研发涉及的,包括第一部分也是。而营销和运营人员主要是使用发展和增长部分。
Firebase总结
您刚刚发现Firebase中包含很多东西。 那么,您从这一切中得到什么呢? 我将其归结为几点,以便您可以重新构建应用程序:Firebase是Google的移动应用开发平台。 (是的,再说一次。)您将使用Firebase产品节省大量时间和金钱,而不是尝试自己制造它们。您可以全部使用它,也可以不使用它,也可以只使用所需的部分。所有这些位都设计为可以很好地协同工作,并在一个控制台中进行管理。
网友评论