后端API与数据库(作为服务)
在一个假设的安排中,一些用户需要共同编辑数据,这个策略会产生最好的结果:
1,一个同步数据库,如pouchdb / couchdb。 这些提供了支持多个客户端的潜在脱机数据的支持,但是更多的工作必须由客户端应用程序完成数据和权限。
2,实时托pipe的数据库,如rethinkDb或深水。 这些提供更多服务器逻辑。
3,数据库服务api这样的地平线或deployd提供了一个快速的方法来build立数据库之上的后端apis
4,把你自己的东西像帆/羽毛/循环回来,让后端的全部力量。
对我来说,这似乎是一个select范围,但重要的事情是:
- 易于开发数据pipe理和实时同步
- 用户pipe理
- 支持的客户端范围(is / swift / java)
最初的发展将是基于networking(浏览器/电子)的范围移动到iOS / Android应用程序。 最终,我相信我不确定是否可以使用数据库或应用程序的其余api来实现最佳结果。
非常感谢
完整免责声明我在deepstreamHub [1]工作,我们构build了deepstream.io并使用它来支持我们托pipe的云服务。
同步的数据库,如pouchdb / couchdb
据我所知,你从这些只是一个数据库(尽pipe非常酷)。 他们在客户端之间同步数据,通过他们的API提供各种不同的操作[2]。
实时托pipe的数据库,如rethinkDb或深水
在这里值得注意的是,deepstream不是一个数据库,它是一个实时服务器,提供pub / sub,远程过程调用,数据同步,以及提供authentication策略等。rethinkDb更类似于pouchdb / couchdb。
深水是数据库不可知的,因为我们提供了各种不同的caching和数据库连接器(rethinkdb是其中之一)。 RethinkDb在深度处理方面效果很好,实际上我们经常使用rethinkDbsearch提供者[3]与深度处理来生成dynamic列表。
Deepstream正式支持JavaScript(包括Node.js),Java和iOS SDK。
数据库服务api这样的视界或deployd
据我所知,视界是build立在重新思考的基础之上的,并且提供了一个更加基于平台的开发方法,提供了authentication策略等。
用帆/羽毛/循环等东西来滚动自己
帆和羽毛似乎提供了一种基于RESTful / websocket的后端的方法。 他们每个人都有他们适合的用例。
结论
我真的build议看看这个深度博客文章。对实时库和框架的概述,其中有更深入的描述每个服务和他们提供什么。
[1] deepstreamHub
PouchDB API文档
[3] 深层次的重新思考Db连接器