Page 230 - AngularJS权威教程
P. 230
210 第 18 章 服务器通信
设想我们在同一时间有应用的两个实例在运行。如果两个实例都企图编辑相同的数据会怎
样?不处理这种情况的话,就会出现问题,特别是如果我们创建的是一个复杂的Web应用前端,
比如银行。
通过使用Firebase,我们能给Angular应用轻松地添加一个后端。在Angular.js主页上出现之后,
Firebase很快就会成为Angular持久化的标准。
Firebase是一个实时后端,用于创建协同化的现代应用。Firebase让我们能够快速启动应用并
将它运行起来,而不是要求我们忙着使用一个服务端组件来创建自定义的请求响应模型,还要在
该模型中手动处理数据的同步。我们可以完全用Angular创建一个以数据为中心的Web应用,它能
够开箱即用,实时更新所有的客户端。
存储在Firebase中的数据是标准的无模式JSON,这使得在Firebase中存储任意类型的数据模型
非常容易。如果一个设备丢失了网络连接,Firebase继续允许对本地缓存数据的存取,并且当设
备重新上线的时候,无缝地跟云端同步变更。
Firebase客户端库和REST API提供了从任何平台对数据的易访问性。尽管我们更关注的是
Angular,这个事实意味着本地应用或者其他的服务端应用也可以访问Angular保存的数据。
当我们要对外发布应用的一个版本时,可使用Firebuse的一个托管服务,几秒钟之内将我们
的Angular应用从命令行部署到我们自己的域。
18.25 使用 Firebase 和 Angular 的三方数据绑定
有了Angular,把内容渲染到浏览器是很容易的。Firebase是Angular一个出色的伙伴,因为它
优雅地处理了数据的存取,这是产品级Web应用的另一个主要组件。
Angular的伟大之处在于,它在JavaScript模型和DOM之间的双向数据绑定。通过Angular模型
与Firebase的同步,我们可以实时同步所有客户端上的应用模型。这意味着当一个客户端的数据
变化时,这些变更立即保存到Firebase中,并且渲染到所有连接的设备上,如图18-20所示。
图18-20 客户端应用程序同步
当我们在这三个地方(视图,模型或者Firebase)中的任意一个里更新数据时,变更会实时
传播到所有客户端的其他两个地方。