javascript - 无缝更新混合应用程序的疯狂但优雅的解决方案

标签 javascript html cordova mobile

我正在使用 Phonegap 开发移动应用。

与网络应用程序不同,移动应用程序是静态客户端,更新频率低于预期。此外,还需要版本管理来维护服务器端和客户端之间的依赖关系。

我正在考虑一种使移动应用程序更像纯浏览器的方法。这是一个潜在的解决方案。

  1. Phonegap应用中的初始index.html从服务器获取最新版本并比较浏览器/WebView中缓存的版本号;
  2. 如果当前版本落后于最新版本,则获取远程主页并替换整个html文档并缓存最新版本号;

优点:

  1. 不再需要发布新版本的移动应用;
  2. 所有平台(移动和网络)都使用最新版本,无需再手动更新;

缺点:

  1. 更新到新版本时明显延迟,包括首次发布;
  2. 所有脚本和样式都必须缓存在 localStorage 中,以防止浏览器意外重新加载这些文件。

我相信你们中的一些人一定有同样的问题或想法。如果您能在这里分享您的想法,我将不胜感激。

最佳答案

如果应用程序是一个工具,比如寻找附近的餐馆或叫外卖服务,我相信一些具有固定布局和样式的页面就可以了。函数应该很少更改,对吧?

例如,您可以在一个页面上显示带有标记的 Google map ,以指示附近的所有餐馆。每当服务器上保存的餐厅列表发生变化时,客户端不需要任何修改,只要此页面的功能与往常一样。

想想 Google 的主页。顶部始终有一个工具栏,下方有一个 Google 涂鸦和一个搜索栏。布局几乎总是一样的。不同的是动态加载的涂鸦。拥有固定的布局应该可以避免过于频繁地更新您的应用程序客户端。

顺便说一句,我一般不更新手机上的应用程序,因为我懒得更新。因此,我同意您的看法,即尽可能少地发布新版本。

关于javascript - 无缝更新混合应用程序的疯狂但优雅的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24825577/

相关文章:

html - CSS:如何裁剪任意大小的图像?

javascript - 仅在桌面上重新加载页面后 Bootstrap 4 折叠保存

javascript - 如何每天在特定时间在cordova中设置本地通知

javascript - 如何使用 d3.js 检查元素是否在视口(viewport)中(在可见区域中)

javascript - 使用 node.js 的断言引发的测试错误

javascript - 仅在单选按钮上单击时显示 div

html - 如何在 Ionic 框架中制作个人资料 ImageView ?

javascript - 试图让星级控制记住评级

Cordova:本地文件系统未定义

javascript - Android 应用程序 Phonegap 上的 CSS 无法正常工作