【问题标题】:Chrome desktop application for web based product用于基于 Web 的产品的 Chrome 桌面应用程序
【发布时间】:2016-02-29 15:00:50
【问题描述】:

用于基于 Web 的产品的 Chrome 桌面应用程序。这在 chrome 网络应用程序中是否可行

产品有以下项目

  1. Angular JS --- 前端框架
  2. Rails --- JSON 通信

我已经创建了 chrome 桌面应用程序,它将直接打开带有图标的站点。它更像是桌面应用程序。在任何操作系统中它都会运行。一切正常。

问题: 它总是会下载 js 和 css 文件。

我想如何开发 chrome 桌面应用程序

  1. 启动 chrome 桌面应用时,将所有资产保存在本地。
  2. 每当启动 chrome 桌面应用程序时,它应该引用本地保存的资产(我的意思是 angular js 文件和 css)
  3. 在启动 chrome 桌面应用程序之前,它应该请求服务器是否更改资产。如果更改,请删除本地保存的文件并保存最新的。
  4. 如果资产未更改,请使用旧资产文件。这样,我们就可以避免从服务器初始加载所有文件。

以前有人做过吗,或者 chrome 提供了任何选项?

欢迎提出想法!

【问题讨论】:

    标签: angularjs ruby-on-rails-4 google-chrome-app


    【解决方案1】:

    完全有可能。

    阅读这些文档:https://developer.chrome.com/apps/offline_apps

    我自己将 css 和 javascript 打包到 chrome 应用程序中,因此您无需在启动时下载它们。但在您的上下文中,它更像是一个具有缓存功能的 webview 应用程序。 您可以使用 indexeddb 或其他本地存储 API 将资产存储在客户端计算机中。

    【讨论】:

    • 感谢您的回答。在客户端打包 css & js 并使 chrome 应用程序成为可能。考虑以下情况 70 个用户安装了 chrome 应用程序并更改了服务器端的资产。所以我们需要用最新的资产更新 chrome 应用程序,同时 70 个用户必须更新 chrome 应用程序。我不想要这种行为。我需要的是,自动更新客户端资产。
    【解决方案2】:

    您可以通过使用ApplicationCache 在网络应用程序端解决此问题,这特别符合您的描述。

    使用缓存接口给你的应用程序带来三个好处:

    • 离线浏览 - 用户可以在离线时浏览您的整个网站
    • 速度 - 资源直接来自磁盘,无需访问网络。
    • 弹性 - 如果您的网站因“维护”而出现故障(例如,有人不小心破坏了所有东西),您的用户将获得离线体验

    应用程序缓存(或 AppCache)允许开发人员指定浏览器应缓存哪些文件并提供给离线用户。即使用户在离线时按下刷新按钮,您的应用也会正常加载和运行。

    虽然它主要是一种离线回退技术,但它允许您在本地缓存资源以提高速度。在这种情况下,实际上有一个离线后备是一种奖励。


    实际上为此构建一个 Chrome 应用程序可能无济于事 - 您无法从 Web 应用程序端更新本地资源,您只需要通过 WebStore 渠道更新您的应用程序。

    【讨论】:

    • 感谢您的回答。离线模式在 chrome 应用中运行良好。我需要的是,动态缓存和更新资产。
    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 2015-11-20
    • 2015-10-06
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多