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

时间:2014-07-18 12:55:18

标签: javascript html cordova mobile

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

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

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

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

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

      1. 更新到新版本时的明显延迟,包括首次启动;
      2. 所有脚本和样式必须缓存在localStorage中,以防止浏览器意外重新加载这些文件。
      3. 我相信你们中的一些人必须有同样的问题或想法。如果你在这里分享你的想法,我将非常感激。

2 个答案:

答案 0 :(得分:0)

我创建了一个单向同步来更新我的本地网络存储(SQLite),这些存储几乎在所有设备上。我的同步更新我的应用程序登录/用户它从数据库获取新的更新和更新我的应用程序网络存储。

您可以使用常规SQLite写入您的设备网络存储,只有在线时才会更新。

答案 1 :(得分:0)

如果应用程序是一个工具,例如寻找附近的餐馆或者要求提供送货服务,我相信一些具有固定布局和样式的页面会这样做。这些功能很少会改变,对吗?

例如,您可以在页面上显示附有标记的Google地图,指示附近的所有餐馆。只要服务器上保存的餐馆列表发生变化,客户端就不需要任何修改,只要此页面的功能保持不变。

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

顺便说一句,我通常不会在手机上更新应用程序,因为我太懒了。因此,我同意你最好尽可能少地发布新版本。