GWT:当新版本可用时,如何强制客户端重新下载整个应用程序?

时间:2012-10-20 21:09:29

标签: java google-app-engine gwt

我正在编写我的第一个GWT / GAE应用程序并想到了一个“边缘案例”,我部署了一个显着改变前端(GWT / JS)代码的新版本。

如果有人登录并正在积极使用我的应用程序,并且我执行此部署,那么我希望能够实现以下目标:

  1. 使用模式对话框向用户标记新版本的应用程序可用,并且当他们单击对话框上的“确定”按钮时,屏幕将更改
  2. 他们点击OK
  3. 保存当前页面上的所有工作(不知何故 - HTML5持久性可能?)
  4. 他们已退出(必要?)
  5. 浏览器下载客户端应用程序的新“版本”(新的HTML / JS / CSS)
  6. 他们已登录
  7. 他们被带回他们最后离开的页面/状态,(希望)没有工作丢失
  8. 其他GWT / GAE大师如何处理此用例?我是在轨道还是离开基地?提前谢谢!

1 个答案:

答案 0 :(得分:2)

用户不喜欢被中断更新:Firefox团队了解到他们开始显示弹出窗口时的艰难方式。除非您的更新修复了一个严重的安全漏洞,否则请不要这样做。

当您在GWT中发布新版本时,用户将在下次访问您的网站时加载它。在一段时间不活动后关闭应用程序是个好主意。在很短的时间内,您的所有用户都将转移到下一个版本,您无需采取任何措施来实现这一目标。

请注意,App Engine允许您指定应用的默认版本,但您的用户也可以访问其他版本。这对于发生重大变化的情况非常有用。最好的方法是邀请一些用户尝试新版本。这样,在将新版本设置为默认版本之前,您可以确保新版本正常工作。