我正在AngularJS中构建一个相对复杂和数据密集的web应用程序。我计划使用php作为RESTful后端(使用symfony2和FOSRESTbundle)。我花了几周时间寻找不同的在线同步解决方案的解决方案,并且似乎有很多一半的解决方案(参见下面列出的一些例子)。但它们似乎都不适合我的情况。我该如何决定哪种策略适合我呢?
哪些问题可能决定在AngularJS和symfony 2中构建联机同步系统的“最佳实践”,需要进行一些研究,但在我的头脑中,我想考虑的是速度、实现的易用性、未来的证明(持久的解决方案)、扩展性、客户端的资源使用/需求、多个脱机用户编辑相同的数据、要存储的数据的数量和类型。
我目前意识到的一些要求是:
一些潜在的示例解决方案
如能提供任何帮助,将不胜感激:)
发布于 2014-04-09 17:45:26
你好像想要很多东西,同步的东西很难.在我正在开发的OSS库中,我有一个解决方案来解决其中一些问题。其想法是,它可以对本地数据进行版本化,这样你就可以找出改变了什么,从而进行有意义的同步,其中还包括冲突解决等。这是一种离线流星,因为它真的被调到离线使用(对于没有移动数据信号的伦敦地铁)。
我还开发了一个生态系统围绕它,其中包括一个连接管理器和服务器。主要项目在https://github.com/forbesmyester/SyncIt,并有很好的文档和测试。用于生态系统的测试应用程序将在https://github.com/forbesmyester/SyncItTodoMvc上运行,但我还没有为其编写任何文档。
它目前正在使用LocalStorage,但很容易迁移到localForage,因为它实际上使用了localStorage的包装器,使其成为异步API.可能是名单上的另一个?
发布于 2015-02-12 17:16:20
为了与请求者脱机工作,我建议将问题分为两种情况:内容(html、js、css)和数据(API )。
内容
appcache将离线存储在小型应用程序中,也可以存储在带有服务人员的高级应用程序中。铬40+.
数据
需要解决存储和同步问题,这是一个更加困难的问题。我建议深入阅读微分同步算法,并考虑下面的提示:
前部
将资源和阴影(例如,使用url作为键)存储到小型应用程序的本地存储区或更高级的替代品(pouchdb、indexdb、.)。有了资源,您可以脱机工作,当需要与服务器同步时,使用jsonpath获取资源阴影之间的差异,并将其发送到服务器修补程序请求。
后端
在后端,考虑将影子副本存储到redis中。
双方(前端/后端)需要标识客户端节点,这样您就可以在header上使用x- syn-token (在客户端的所有请求中使用角度拦截器发送它)。
发布于 2014-04-27 02:42:19
https://www.firebase.com/ --它是可靠和证明的,可以作为后端和同步库用于您所追求的目标。但是,它需要成本,并且需要一些集成编码。
https://goinstant.com/也是一个很好的托管选项。
在我的一些应用程序中,我希望两者兼备:同步db源和另一个主数据库。(mogno/express、php/mysql等)然后,每个db处理它最好的功能,以及它的特性(实时与安全,等等)。这是正确的,无论是同步-db提供程序(无论是赛车或火基地或GoInstant .)
https://stackoverflow.com/questions/22957902
复制相似问题