我正在使用 Phonegap 开发移动应用。
与网络应用程序不同,移动应用程序是静态客户端,更新频率低于预期。此外,还需要版本管理来维护服务器端和客户端之间的依赖关系。
我正在考虑一种使移动应用程序更像纯浏览器的方法。这是一个潜在的解决方案。
- Phonegap应用中的初始index.html从服务器获取最新版本并比较浏览器/WebView中缓存的版本号;
- 如果当前版本落后于最新版本,则获取远程主页并替换整个html文档并缓存最新版本号;
优点:
- 不再需要发布新版本的移动应用;
- 所有平台(移动和网络)都使用最新版本,无需再手动更新;
缺点:
- 更新到新版本时明显延迟,包括首次发布;
- 所有脚本和样式都必须缓存在 localStorage 中,以防止浏览器意外重新加载这些文件。
我相信你们中的一些人一定有同样的问题或想法。如果您能在这里分享您的想法,我将不胜感激。
最佳答案
如果应用程序是一个工具,比如寻找附近的餐馆或叫外卖服务,我相信一些具有固定布局和样式的页面就可以了。函数应该很少更改,对吧?
例如,您可以在一个页面上显示带有标记的 Google map ,以指示附近的所有餐馆。每当服务器上保存的餐厅列表发生变化时,客户端不需要任何修改,只要此页面的功能与往常一样。
想想 Google 的主页。顶部始终有一个工具栏,下方有一个 Google 涂鸦和一个搜索栏。布局几乎总是一样的。不同的是动态加载的涂鸦。拥有固定的布局应该可以避免过于频繁地更新您的应用程序客户端。
顺便说一句,我一般不更新手机上的应用程序,因为我懒得更新。因此,我同意您的看法,即尽可能少地发布新版本。
关于javascript - 无缝更新混合应用程序的疯狂但优雅的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24825577/