[转载+翻译]实时数据服务,firebase介绍

实时开发框架
Node.js基于Chrome的V8引擎、低学习门槛、事件驱动、Socket.io、良好的模块管理工具,给Node.js带来了无限的想象空间。


实时开发框架里面的Realtime的意思是,前端和后端的数据交换是实时的,也就意味着一旦服务器在有了最新的数据时,前端会实时得到数据并呈现在用户面前。据测试,这一速度可以达到10ms这一个级别。这巨大的突破来源于Node.js 的架构与 Django, Rails 等传统的 Framework的本质的不同,它不需要放在 Nginx / Apache 后,利用 WSGI、 CGI 之类的接口一板一眼的 [接受Request] -> [运行程序逻辑] -> [生成并返回Response],而是跟前端的直接对话。这是一个巨大的变化,之前一些无法想象的功能都有可能实现了。比如 https://github.com/Miserlou/DirtyShare 可以用浏览器实现 P2P 的文件传输。正因为Node.js 可以更精细的控制 Request 和Response 的时间和内容,WebSocket 似乎天生就是为 Node.js 而生的,而配合 http://socket.io 这个神奇的库之后,在Realtime WebApp 这个领域,Node.js 已经没有对手了。
介绍完实时JS开发框架的概念,以下是Clouda、Meteor、Firebase的大PK,
共同优点:
前后端统一,只用Javascript一门语言,抹平云端界限,一份代码处处运行。
实时数据同步,所有数据实时推送的基础设置,每个终端都无延迟同步响应。
前端随动反馈,面向数据的编程模型,数据实时推送后,界面会自动更新。
省流量,省掉了通过Ajax请求建立和关闭连接时的暂用的额外流量。
跨平台,iOS、Android、PC端一应俱全。
代码简洁,轻轻松松几分钟内实现一个聊天室或TodoList的跨平台应用。
不算缺点的缺点:
没有Web UI,得自行解决UI问题。
前后端混合编程可能刚开始有点难以理解。


Clouda (开发框架):http://cloudajs.org/
优点:
专为移动,全面兼容手机、平板、PC。
高兼容性,标配数据同步工具,兼容已有服务;同时兼容Backbone等开源框架。
SEO能力,原厂匹配主流搜索引擎,每个APP场景都可以被搜索引擎爬虫抓取。
中文框架,简单语法搭配丰富教程与文档,保证快速上手,还配有5分钟教程。
多种渲染模式,支持客户端和服务端渲染,节省服务端或客户端的运算资源。
MVC结构,便于代码管理及扩展开发。
缺点:
新框架,学习资料偏少。
目录结构略微复杂,上手难度高。
完善度不高,部分代码难以理解。
Meteor (开发框架):http://www.meteor.com
优点:
结构简单,上手较容易(非MVC框架)。
实时代码更新,在服务器代码更新后,客户端无须用户干预,实时更新。
延迟同步机制,用户提交的数据实时反馈在屏幕上,如果因为网络原因数据提交失败,数据会在网络重新连接后上传。
便捷发布,打包后的程序中会包含所有依赖项,让代码可以在任意装有Node.js的机器运行。
互通性,支持通过DDP协议连接到NativeAPP、数据库甚至是Arduinos。
兼容性,可以轻松的兼容其他模板框架、测试框架、Dom操作框架等。


Firebase (数据服务):https://www.firebase.com/
优点:
Api简单,使用起来非常的方便,可大大减少代码量。
可通过网页对数据进行管理,很方便。
支持SSL、权限认证、数据安全机制。
缺点:
数据结构和数据库存储方式不一致(由于想支持REST方式读取数据)
不能部署自己的数据库(很多项目都需要自己维护数据库的)
目前数据操作能力较弱(有很多需求(稍微复杂点的查询)目前Firebase很难支持)
数据分析功能很弱,只能查看流量和当前在线人数(独立数据库的话,这部分很容易做的更强大)


总的来说,Cloudajs具备较大的本土化资源优势、支持SEO,Meteor的功能更强劲,Firebase更倾向于数据服务而非开发框架。






Firebase,‘The Realtime App Platform’
用户可以使用JavaScript 直接从客户端访问Firebase中存储的数据,无需运行自有数据库或网络服务器即可构建动态的、数据驱动的网站,且与用户现有后台工具并行不悖。
用户无需购置服务器,也不需要编写服务器代码,只需应用HTML 和JavaScript技术就可创建交互性极强的应用。Firebase简化了编码工作,使用户可以专注问题本身,节省开发时间,迅速完成应用。
Firebase在所有主流的web和移动平台开发了全功能库并且与大多数流行框架(framework)对接,另外提供REST API以支持一些特殊情况。


以web为例
Firebase提供以下三个关键服务,可以生成大量的全功能的应用程序。
1数据(实时)API.
覆盖大多数后台数据库和服务器代码,处理数据的存储和同步
2 用户管理认证。
简单登录(simple login)服务处理用户管理和认证的需求。如果需要管理自己管理,可以使用自定义登录(custom login)来实现完整控制。 
3 Hosting
有了Hosting,可以使用简单的命令就能在internet上部署静态网站。
以上这些服务是安全,可靠,可裁剪的,用来部署应用,信心十足。


创建应用程序前,创建你的 Firebase
首先需要注册一个firebase的免费帐户,在帐户中心下面,随时可以创建一个新的firebase。你的firebase将有一个以firebaseIO.com结尾的唯一URL,如下所示:
 




关于免费帐户的权限
50 Max Connections, 5 GB Data Transfer, 100 MB Data Storage.

1 GB Hosting Storage and 100 GB Hosting Transfer.


以上内容收集自互联网,如有侵权,请告知



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值