ios - 实现类似于 Evernote 的同步功能

标签 ios web-services google-app-engine rest amazon-web-services

内容类型对于这个问题来说并不重要,但我们只是想实现一个(原生移动)购物 list 应用程序,允许多个用户在共享列表上进行协作。

像这样的同步功能通常是如何自动实现的(无需显式的用户交互)?每隔几秒检查一次以检查较新版本并在必要时进行更新的首选方法是,还是可以推送更改?

我猜想使用 AWS、Google App Engine 甚至从头开始在 LAMP 堆栈和 REST 上实现轮询解决方案会(相对)容易。但我担心连续轮询带来的流量。

尝试使用推送更新来实现这一点是否可行?如果是这样,我应该研究哪些技术、服务或设计原则? AWS 或 Google App Engine 可以实现类似的功能吗?或者拉动(并尽可能减少流量)是可行的方法?

最佳答案

在应用程序引擎上,您应该查看 channel API。来自overview :

Channel API 在您的应用程序和 Google 之间创建持久连接 服务器,允许您的应用程序实时向 JavaScript 客户端发送消息,而无需使用轮询。这对于旨在立即向用户更新新信息或将用户输入立即广播给其他用户的应用程序非常有用。一些示例包括协作应用程序、多人游戏和聊天室。一般来说,在更新无法预测或编写脚本的情况下,例如在人类用户之间或非系统生成的事件中传递信息时,使用 Channel API 是比轮询更好的选择。

关于ios - 实现类似于 Evernote 的同步功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429827/

相关文章:

ios - UICollectionView cellForItemAt indexPath 在 iOS 10 中跳过行索引

java - 返回 javax.ws.rs.core.Response 的列表,结果为 500

java - 用于 Web 服务的 GSON

python-2.7 - GAE Web 应用程序的 SSO 实现

iphone - 在iPad上镜像应用程序屏幕需要什么?

javascript - iOS 共享扩展禁用预览

ios - WKInterfaceTable如何识别每一行中的按钮?

rest - 如果 Web Service Location 不断变化,可以使用哪种 Architecture

python - 当tbody为空时如何隐藏thead?

python - 使用 Google App Engine 的异步获取请求