无需第三方服务即可同步移动应用和Web应用

时间:2015-07-29 10:56:50

标签: php android angularjs sqlite ionic-framework

目前使用 Ionic Framework PHP构建混合应用用于后端服务

我遇到的情况是用户也在Web应用程序和移动应用程序中获取了他的个人资料。

如果用户从他的移动应用或网络应用中添加两个故事(它的阅读应用程序),我该如何同步?

以下是方案:

1)用户通过网络应用标记故事收藏,当我通过移动应用上网时,显示它。

2)用户在离线时标记了移动应用中的热门故事(现在这将存储在 LocalDB 中)。那么当他与服务器进行在线同步时又是什么呢?

我知道有 Firebase 等服务可提供syncing service

但如果我想为自己的应用程序自行开发自定义同步服务,该怎么办?这是一个非常复杂的过程吗?

如果是,可以开发,那我该怎么办?一个基本的想法?我应该考虑哪些最佳实践?

任何链接都会受到赞赏吗?

2 个答案:

答案 0 :(得分:1)

我知道一些评论建议将CouchDB与PouchDB结合使用。这比尝试使用MySQL实现自己的同步服务要好得多。

但是,由于您使用的是Ionic Framework,因此您也可以使用Couchbase。采用以下示例应用程序:

https://github.com/couchbaselabs/TodoLite-Ionic

如果您选择此解决方案,您将拥有三个活动部件。您将使用Couchbase Server替换MySQL并运行Couchbase Sync Gateway来协调设备和服务器之间的任何数据。如果你有一个Web应用程序版本,你仍然可以保留你的PHP后端,因为有一个用于Couchbase的PHP SDK。

可以在此处找到两篇关于此的文章:

http://blog.couchbase.com/using-couchbase-in-your-ionic-framework-application-part-1 http://blog.couchbase.com/using-couchbase-in-your-ionic-framework-application-part-2

从长远来看,当涉及到API和移动设备时,你会发现NoSQL比MySQL更令人愉快。

答案 1 :(得分:0)

在后端编写一个POST方法非常有用,它可以从应用程序接收本地数据和一些用户数据(会话,访问令牌和其他你认为是neceasary的东西)。在请求的正文中,您包含了需要同步的数据。后端占据了身体。解析它并返回结果(http代码)基于此,您可以决定应用程序是应该删除本地数据还是仅将其标记为在本地数据库上同步