用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)

前情

几天前翻译了一个有关Firebase的介绍IO的视频,在此写篇文章来总结一下

主讲人是James Tamplin,Firebase的联合创始人,本人很喜欢他的口音(捂脸XD)

用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)_第1张图片
James Tamplin

热场

首先,他是讲述了10年前笨重的软件开发过程,于是引出了Firebase的目的和他们的关注点

接着,他引出的Firebase很重要的三个关注点 用户数据任务

那么谷歌是如何做的呢?

首先要从 谷歌云服务平台(Google Cloud Platform) 开始

  • 它的最底层是基础设施层,也就是 谷歌计算引擎(Google Compute Engine GCE),它使物理机器呈现出虚拟形态

  • 接下来是容器层,也就是 谷歌容器引擎(Google Container Engine GKE),它使你可以运行软件而不用考虑底层的硬件

  • 再上一层就是平台层,也就是 谷歌应用引擎(Google App Engine GAE),有了它你就可以不用考虑内存、CPU和系统更新,你只需要给它后端代码,它就可以接收、部署、运行并处理,这让一切变得更高效

用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)_第2张图片
层级展示

主题

那么如果你是个移动端或者Web开发者呢?

那就该Firebase出场了

那么到底什么是Firebase?

简而言之它就是一个帮助你快速开发高效的移动和Web应用的平台

而我认为它是结合了后端和数据库,使原来的三层结构变成了两层结构,也就是一体化后端框架,使开发变得更加快捷

用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)_第3张图片
三层结构

Device-->Application Server-->Database

用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)_第4张图片
两层结构

Device-->Firebase(Hook Server or Third part API)

它有三大功能:用户认证实时数据库托管服务

  • 用户认证:如果你构建一个APP,那么你要做一个用户认证系统,而Firebase允许你用Email和密码连接到第三方,例如Facebook,Twitter等等。你所要做的就是使用一个服务端的库来生成JSON Web标记和另一个开放标准,这样你就可以告诉Firebase谁是你的用户了

  • 实时数据库:Firebase用的是一个实时的NoSQL的JSON数据库,所有的数据都以JSON的形式存在于数据库里面,并且它们还为每个键值做映射(mapping),它可以实现毫秒级的数据推送。还有一点就是客户端可以不和服务器交流直接去访问数据库

用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase)_第5张图片
数据同步
  • 托管服务:很典型的例子就是英国大选的时候,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,所有翻译我都已经做好了,如果观看过程中发现不足,也欢迎指正


资源

  • Trello 任务面板

参考

  • Martin 20150817凌晨撰写

你可能感兴趣的:(用Firebase来开发卓越的应用程序(Developing Extraordinary Apps with Firebase))