谷歌在 2016年 I/O 大会上推出了 Firebase 的新版本。Firebase 平台提供了为移动端(iOS和Android)和 Web 端创建后端架构的完整解决方案。
从一开始的移动后端即服务(Mobile-Back-end-as-a-Service,简称 MBaas),Firebase 已经被谷歌改造成了针对移动开发和 Web 开发的一个完整后端解决方案。Firebase 提供了一个 SDK 和 一个控制台,用于创建和管理 Android、iOS和 Web 等多个平台的应用。Firebase 拥有以下特性:
- AdMob —— 集成了谷歌 AdMob
- AdWords —— 集成了谷歌 AdWords
- 统计分析(Analytics) —— 用于监控用户行为、人群特征细分、活动效果分析
- 崩溃报告(Crash Reporting) —— 监控各类设备上应用的错误。与统计分析特性集成,评估应用崩溃时的用户行为
- 数据库 —— 用于存储 JSON 数据的 NoSQL 数据库
- 动态链接(Dynamic Links) —— 将用户带至应用内预期页面的深度链接(deep links)
- 托管(Hosting) —— 针对 Web 应用的全球 CDN
- 索引(Indexing) —— 对应用进行索引,用于谷歌搜索
- 邀请(Invites) —— 支持用户与其他用户分享有关应用的信息
- 消息(Messaging) —— 即此前的 Google Cloud Messaging,后来被重新命名为 Firebase Cloud Messaging
- 通知(Notifications) —— 管理发给用户的通知
- 离线(Offline) —— 支持应用在本地缓存中存储数据,这样可以在离线时保持运行
- 实时(Real Time) —— 数据实时保存至云数据库
- 远程配置(Remote Config) —— 支持开发者在不要求用户下载新版本 app 的情况下,修改应用的行为和外观。该特性用于修改应用的视觉主题,满足不同用户群组的需求,运行 A/B 测试等。
- 存储(Storage) —— 存储用户的语音、图片和视频
- 同步(Synchronization) —— 当设备上的数据变动时,将会推送至 Firebase,然后再推回到所有相关联的设备。另外,离线后重新在线使用时,设备将自动更新至最近的快照
- 测试实验室(Test Lab) —— 在真实设备上测试应用
以上所有特性在进行 Android 和 iOS 开发时均可使用,除了测试实验室不支持 iOS 设备。部分特性尚不支持 Web 应用。
Firebase SDK 支持以 C++、Java、JavaScript、JavaScript/Node.js、Objective-C 和 Swift 等语言进行编程。对 Angular、Backbone、Ember 和 React 的支持通过对数据库的绑定实现。谷歌提供了一些辅助开发库:Firebase UI、Geofire、Firebase Queue、FirebaseJobDispatcher。这些库的名称说明了各自的用途。Firebase 还支持导入大规模 JSON 数据集,可与 ElasticSearch 集成。
Firebase 由谷歌维护,托管在其云数据中心。对于想体验的用户,FIrebase 提供了免费的计划。同时提供了一个按需付费计划,提供与谷歌云平台的全面集成。
如果你想深入了解 Firebase 的运作,我们建议观看谷歌 2016 I/O 大会上的这些视频:Firebase 概览、迁移至 Firebase、使用 Firebase Analytics开发优秀APP、Firebase 验证入门、深入解析实时数据库。
查看英文原文:https://www.infoq.com/news/2016/05/google-firebase