Firebase 相关
谷歌在 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
前情
几天前翻译了一个有关Firebase的介绍IO的视频,在此写篇文章来总结一下
主讲人是James Tamplin,Firebase的联合创始人,本人很喜欢他的口音(捂脸XD)
热场
首先,他是讲述了10年前笨重的软件开发过程,于是引出了Firebase的目的和他们的关注点
接着,他引出的Firebase很重要的三个关注点 用户
、数据
和 任务
那么谷歌是如何做的呢?
首先要从 谷歌云服务平台(Google Cloud Platform)
开始
它的最底层是基础设施层,也就是
谷歌计算引擎(Google Compute Engine GCE)
,它使物理机器呈现出虚拟形态接下来是容器层,也就是
谷歌容器引擎(Google Container Engine GKE)
,它使你可以运行软件而不用考虑底层的硬件再上一层就是平台层,也就是
谷歌应用引擎(Google App Engine GAE)
,有了它你就可以不用考虑内存、CPU和系统更新,你只需要给它后端代码,它就可以接收、部署、运行并处理,这让一切变得更高效
主题
那么如果你是个移动端或者Web开发者呢?
那就该Firebase出场了
那么到底什么是Firebase?
简而言之它就是一个帮助你快速开发高效的移动和Web应用的平台
而我认为它是结合了后端和数据库,使原来的三层结构变成了两层结构,也就是一体化后端框架,使开发变得更加快捷
Device-->Application Server-->Database
Device-->Firebase(Hook Server or Third part API)
它有三大功能:用户认证
、实时数据库
和 托管服务
用户认证:如果你构建一个APP,那么你要做一个用户认证系统,而Firebase允许你用Email和密码连接到第三方,例如Facebook,Twitter等等。你所要做的就是使用一个服务端的库来生成JSON Web标记和另一个开放标准,这样你就可以告诉Firebase谁是你的用户了
实时数据库:Firebase用的是一个实时的NoSQL的JSON数据库,所有的数据都以JSON的形式存在于数据库里面,并且它们还为每个键值做映射(mapping),它可以实现毫秒级的数据推送。还有一点就是客户端可以不和服务器交流直接去访问数据库
- 托管服务:很典型的例子就是英国大选的时候,Sky News利用Firebase来同步大选的数据,这个应用每天都有几百万的访问量,而Firebase就得托管这些数据并同步给几百万的用户,更激动人心的是这个应用在数周之内就被开发出来并投入使用
新功能
手机离线支持(Mobile Offine Support)
所有数据都会存在于你的磁盘上,而不仅仅是内存
当你离线时,你的所有数据都会尽量保持最新
当网络重新连接时,应用会马上进行重新同步,使你的数据保持最新
当你重新开启应用时所有东西都会还原
支持React Native(React Native Support)
React Native是Facebook的一个开源库,并且Facebook有团队正在使用它
而Firebase则是驱动React Native的后端,并可以完美协作
React会在你的数据模型发生改变时更改你的UI,而Firebase则负责实时更新
总结
Firebase给我最深的印象就是整合了后端框架,这大大改变了原有了软件过程
以往软件开发是先要设计一个数据库,然后再搭一个服务器,最后在应用端进行开发
现在是你启动一个Firebase项目,挂上服务器,有必要还可以挂上第三方API,然后就可以进行开发了
你只需要向Firebase抛后端代码,它就可以自动处理并返回你想要的数据
James Tamplin讲述了很多快速开发的例子,在此我就不一一举例了
如果有兴趣的童鞋,可以点击下面的链接来下载或者在线观看James Tamplin的演讲
Don't Worry,所有翻译我都已经做好了,如果观看过程中发现不足,也欢迎指正
资源
参考
- Martin 20150817凌晨撰写
参考链接:
1.http://www.infoq.com/cn/news/2016/05/google-firebase
2.http://www.jianshu.com/p/f8657f391b93
Firebase 相关的更多相关文章
- 2016-Beijing-GDG-DevFest大会参后感
前话 15年初的时候参加过一次GDG线下举办的一次分享会,因为当时是实习的公司提供的活动场地.有了那次机会后,就一直关注了GDG的活动. 参加的目的最重要的是本次大会是比较盛大的一场技术大会,在经过一 ...
- Flutter 2.8 更新详解
北半球的冬意已至,黄叶与气温均随风而落.年终的最后一个 Flutter 稳定版本 已悄然来到你的面前.让我们向 Flutter 2.8 打声招呼- 本次更新包含了 207 位贡献者和 178 位审核者 ...
- 回顾 Flutter 2021 重要时刻,奉上虎年红包封面喜迎新年!
2021 年,Flutter 正式进入 2.x 系列的正式版发布,年初的 Flutter 2 的发布 打开了一个新的"格局",为 Flutter 的加入了第五大特色--「可移植性」 ...
- 抢先体验! 在浏览器里写 Flutter 是一种什么体验?
Invertase 是一间位于英国的开源软件制作公司.主要构建关于开发者工具.SDK 等应用程序,早在 Flutter 2.2 的时候,Invertase 团队就开始帮助构建和贡献 Firebase ...
- 嵌入式单片机STM32应用技术(课本)
目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...
- Android Firebase 服务简介
Firebase初步了解 什么事Firebase?Firebase成立于2011年,在被Google收购之前,Firebase是一个协助开发者快速构建App,能够提供行动应用专用开发平台及SDK的一款 ...
- Windows Azure NotificationHub+Firebase Cloud Message 实现消息推动(付源码)
前期项目一直用的是Windows azure NotificationHub+Google Cloud Message 实现消息推送, 但是GCM google已经不再推荐使用,慢慢就不再维护了, 现 ...
- Expo大作战(十六)--expo结合firebase 一个nosql数据库(本章令我惊讶但又失望!)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录
孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
随机推荐
- python Asyncore.dispatcher 理解
1.Asyncore是python的标准库.Asyncore.dispatcher 是这个库中的一个socket的框架,为socket添加了一些通用的回调方法,比如: def listen(self, ...
- HDU 2209 翻纸牌游戏(DFS)
题目链接 Problem Description 有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有些朝正,有些朝反),现在你需要整理这些纸牌.但是麻烦 ...
- error LNK2001:unresolved external symbol "xxx:static xxx"
一般是在类的头文件里定义了某个static变量而没有在类的 Implemention 里去初始化(也许不是这么称呼)这个变量. 比如在 xxdlg.h 中写了如下代码 1: class CxxDlg ...
- 【Linux】zookeeper构造伪集群
1.在一台机器装安装3个zk server,构建伪集群模式安装步骤如下:1.下载zookeeper,下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zoo ...
- table可更改th大小的jQuery插件
(function ($) { $.fn.resizetable = function () { var tableObj = $(this); var inResizeRange = false; ...
- 1.0 Python 学习网站
w3cschool : http://www.runoob.com/python/python-tutorial.html cnblog Python 从入门到精通: http://www.cnbl ...
- 多线程synchronized用例解析
当用synchronized来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.即使在执行过程中,CPU切换到别的线程了,因为有锁的缘故,其他线程也不会进来执行代码,而 ...
- 文本注释系统 + MarkDown
标记系统: 笔记的要点 题材 缘起 目标 等级: 细节性 事实性 规律 法则 适用范围: 时间.地点.人物.起因.经过.结果,who what where when why how whom 6W1H ...
- 清除浮动clearfix
css用clearfix清除浮动 更多2013/11/4 来源:css学习浏览量:11901 学习标签: css clearfix 本文导读:写css 时总为浮动而烦恼,如果用了浮动,浮动的父层不会跟 ...
- spark介绍
什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hado ...