适用于基于Web的产品的Chrome桌面应用

时间:2016-02-29 15:00:51

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

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

产品包含以下商品

  1. Angular JS ---前端框架
  2. Rails --- JSon Communication
  3. 我创建了Chrome桌面应用,它将直接用图标打开网站。它更像是桌面应用程序。在任何操作系统中它都会运行。事情很好。

    问题: 它将始终下载js和css文件。

    我想如何开发Chrome桌面应用

    1. 启动Chrome桌面应用时,请在本地保存所有资源。
    2. 每当Chrome桌面应用程序启动时,它应该引用本地保存的资产(我的意思是角度js文件和css)
    3. 在启动Chrome桌面应用程序之前,它应该向服务器请求资产是否已更改。如果更改,请删除本地保存的文件并保存最新文件。
    4. 如果资产未更改,请使用旧资产文件。通过这种方式,我们可以避免从服务器初始加载所有文件。
    5. 之前有人这么做过吗或者Chrome为此提供了任何选择吗?

      欢迎提出意见!

2 个答案:

答案 0 :(得分:0)

完全可能。

阅读以下文档:https://developer.chrome.com/apps/offline_apps

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

答案 1 :(得分:0)

您可以使用ApplicationCache在网络应用程序端解决此问题,Stacked Footer and Header特别符合您的描述。

  

使用缓存界面为您的应用程序提供三个优势:

     
      
  • 离线浏览 - 用户可以在离线时浏览完整网站
  •   
  • 速度 - 资源直接来自磁盘,无法访问网络。
  •   
  • 恢复能力 - 如果您的网站因“维护”而停机(例如,有人意外破坏了所有内容),您的用户将获得离线体验
  •   
     

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

虽然它主要是一种离线后备技术,但它允许您在本地缓存资源,仅用于加速。在这种情况下,实际上有一个离线后备是一个奖励。

实际上为此构建Chrome应用可能没有帮助 - 您无法从Web应用程序端更新本地资源,您只需通过WebStore渠道更新您的应用程序。