在设备/服务器开发中进行版本控制

时间:2011-08-03 17:43:40

标签: javascript iphone web-services versioning

我正在研究设备应用程序,我们将为设备部署一些最小的设备特定代码,该组件将从我们的后端服务器动态加载其余资源(javascript,图像等)。这样我们就可以更频繁地升级应用程序而不必过多依赖设备升级。在某种程度上,这类似于一些希望通过更快升级来避免应用程序批准周期的iphone开发人员。

设备中的代码应该能够检测到服务器代码上的新升级,但仅限于我们需要升级设备代码时,我们可以支持分阶段部署(升级10%的设备)一次,等等。)

我相信有些人已经这样做了。你能分享一下你的想法和最佳实践吗?

1 个答案:

答案 0 :(得分:0)

一种方法是让应用程序有一个轮询过程,询问服务器是否有特定资源的新版本。

然后,服务器可以完全控制谁获得升级,谁不能(“电话之家”的一部分可以包含当前版本),这将允许您强制执行“只有X%的客户获得升级的“能力。您可能还希望包含“降级”的功能,以便在前10%中看到太多错误时可以回滚。

这实际上是Web浏览器在缓存中拥有资源但它可能已过期时所执行的操作。他们说“嘿,服务器,我有这个资源是我在XYZ日期得到的。如果它改变了,给我一个新的,如果没有,请告诉我。”并且服务器要么发回“未更改”响应,要么发送“这是新的”响应。