【问题标题】:Sync Mobile App and Web App without third party services在没有第三方服务的情况下同步移动应用程序和 Web 应用程序
【发布时间】:2015-10-20 07:40:14
【问题描述】:

目前正在构建一个混合应用。使用 Ionic FrameworkPHP 提供后端服务

我遇到了这样一个案例,用户在 Web 应用和移动应用中也获得了他的个人资料。

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

以下是场景:

1) 用户在网络应用中标记喜欢的故事,当我通过移动应用上线时,显示它。

2) 用户在离线(现在将存储在LocalDB中)从移动应用程序中标记故事收藏。那么当他上线时再次与服务器同步?

我知道有像 Firebase 这样的服务提供syncing service

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

如果是并且可以开发,那么我应该如何进行?一个基本的想法?我应该考虑哪些最佳做法?

任何链接将不胜感激?

【问题讨论】:

  • 您可以使用 PouchDB for mobile 和 CouchDB for web app。这样您就不必编写同步服务。 pouchdb.com
  • 嗨..谢谢你的建议。目前我正在为我的网络应用程序使用 mysql 数据库,所以如果我想使用 pouchdb,我是否必须用 couchdb 替换我的 mysql?
  • 是的,你可以用 couchdb 替换 mysql。它会使同步变得容易,但可能会使您需要做的其他事情变得更加困难。它与mysql有很大的不同。
  • @Abhinav 我最近遇到了类似的问题。您选择了哪种解决方案?

标签: php android angularjs sqlite ionic-framework


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我知道一些 cmets 推荐 CouchDB 与 PouchDB 结合使用。这比尝试使用 MySQL 实现自己的同步服务要好得多。

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

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

    如果您选择此解决方案,您将拥有三个活动部件。您将用 Couchbase 服务器替换 MySQL 并运行 Couchbase 同步网关来协调设备和服务器之间的任何数据。如果您有 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 更令人愉快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2017-03-13
      相关资源
      最近更新 更多