【问题标题】:What are the pros and cons of Chrome Apps compared to Electron?与 Electron 相比,Chrome 应用程序的优缺点是什么?
【发布时间】:2016-02-27 22:48:38
【问题描述】:

我想用 javascript(使用网络技术)编写一个桌面应用程序,并寻找 Electron 和 Chrome 应用程序之间的比较。

我需要的一切似乎都可以通过 Chrome 应用程序实现,但围绕 Electron/NW.js 有很大的炒作。电子的优势是什么?是不是 Node 包太多?

我认为功能差异对我来说很清楚。

优缺点如下:

+ Chrome Apps can run on Chrome OS  
- Chrome Apps needs an installed Chrome Browser
...

2016 年 8 月 20 日更新:

正如 Eduardo 指出的那样,Google announced 他们将停止在除 ChromeOS 之外的所有平台上使用 Chrome 应用程序。所以我认为这个问题的答案现在很明显了。

对于所有开发了 Chrome 应用程序并有兴趣将其迁移到网络的人,这里有一份来自 Google 的指南:https://developers.chrome.com/apps/migration

或者,正如 Google 也提到的,您将其迁移到 ElectronNW.js

【问题讨论】:

  • Chrome 应用程序需要浏览器才能运行,Electron / NW.js 捆绑所有内容,您会获得一个可执行文件,您的用户只需双击即可运行,无需 Chrome。爆米花时间就是这种程序的一个例子。
  • 如果你选择不使用 chrome 应用,这里有一篇关于 Electron 和 NW.js 之间差异的有趣博文tangiblejs.com/posts/nw-js-and-electron-compared-2016-edition

标签: javascript google-chrome google-chrome-app electron


【解决方案1】:

您可以完全比较电子和铬封装的应用程序。它们非常相似。对于他们两个,你都会得到:

  • 使用 Web 技术开发您的桌面应用程序
  • 应用在 Chrome 上运行
  • 自动更新。虽然在 Chrome 中您可以免费获得它,但对于 Electron,您需要做一些工作。
  • 操作系统集成 - 与普通网站相比,两者与操作系统的集成更好,但 Electron 支持更广泛的操作系统集成。
  • 离线或在线工作。
  • 两者都适用于 Linux、OSX 和 Windows。 Chrome 网络应用也适用于 Chromebook。

以下是区别:

  • Electron 使用 node.js。因此,您可以导入许多 Chrome 应用程序中不易使用的模块。
  • 分发,您可以使用电子自己打包和分发应用程序。对于 Chrome 应用,您可以通过 Chrome Webstore 分发它们。
  • 环境。一个电子应用程序与它的完整环境一起打包。 Chrome 应用只是使用 Chrome 环境,因此它们更轻巧,但根据用户使用的 Chrome 版本,其行为可能会有所不同。
  • Chrome 应用程序要求用户安装 Chrome,而 Electron 不需要。
  • Electron 拥有更好的开发人员测试和调试工具。
  • Electron 是一个开源平台。 Chrome 应用程序也是基于多种开放技术构建的,但特别是分发由 Google 控制。
  • Electron 文档要好得多,尽管它是一个年轻得多的平台。
  • 采用:有很多基于 Electron 构建的大型成功应用程序,例如 Visual Studio Code、GitHub 客户端、Slack。 Chrome 应用的发展势头从未如此强劲。
  • Chrome 应用可以紧密集成到 Google 云端硬盘中

2016 年 8 月 19 日更新:

Google 最近似乎在 ChromeOS 以外的任何平台上弃用了 Chrome 应用程序。所以我会说它不再是一个有效的选择。

http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html

【讨论】:

  • 谢谢,这真的很有帮助!因此,我会选择 Electron。
  • @Xan 我找不到任何资源指向我们可以自托管 Chrome 应用程序。我无法验证这是否属实
  • 嗯。我测试了它,似乎我的假设是错误的。撤回我的反对并删除原始评论。
  • 我要补充一点,只有 Chrome 应用程序也会run on a Chromebook
【解决方案2】:

我认为将电子和铬应用程序进行比较是不可能的。这取决于你的程序应该做什么。

那么,我应该什么时候使用电子?

第一眼看,electron 看起来像 chrome,因为 electron 的视图是基于 chrome 浏览器的。但是 electron 是一个完整的 node.js 环境,顶部有一个 chrome 视图。所以强大的功能不仅仅是洞察 chrome 部分。

就像您提到的,有很多节点模块(超过 1.700.000),您可以非常轻松地安装或更新它们。您还应该查看 node.js api (https://nodejs.org/api/)。所有这些都允许您编写复杂的应用程序,这些应用程序完全集成在您的桌面上。几乎所有问题都有一些可用的模块。

使用 node 你可以先用命令行界面制作你的程序,然后你可以使用 electron 制作一个 gui。

所以,当你已经有一个用 JS 编写的在线应用程序时,也许 chrome-app 会更好。 Chrome 应用程序非常适合谷歌驱动器使用。或者,如果您想在 chrome-os 中完全集成。

所以我的电子专家:

  • 超过 1.700.000 个模块通过 npm 可用
    • 非常容易集成 jQuery、Angular、React...
  • 先用CLI做程序,再做gui
  • 与 github 完美搭配
  • 非常好的桌面集成
  • 提供 windows 安装程序

【讨论】:

  • 您提到与 Electron 应用相关的 Chrome 应用非常适合 Google Drive 使用。是否有可能或者是否有任何特殊要求可以使 Electron 应用程序能够存储在 Google Drive 中和/或从 Google Drive 中启动(例如,在打包 Electron 应用程序时)?
【解决方案3】:

我想谈谈 Electron vs nw.js。

我有一个非常受欢迎的 Chrome 应用程序,它既不能转换为网络应用程序也不能转换为扩展程序,因为它使用了几个不受支持的 API,最值得注意的是 chrome.fileSystem API。

该应用仍然只能在 Chrome 的网上商店中访问,因为该应用支持将在 2018 年初之前停止。不过,我已经花了很多心思和时间来决定如何应对 Google 的举动。

到目前为止,我一直主要针对 Electron,因为它似乎受到了最多的关注,但我最近发现 nw.js 实际上可以开箱即用地运行 Chrome 应用程序,因为它实现了所有 Chrome 的 API,而仅 Electron实现了它们的一个子集。

只需像这样运行您的 Chrome 应用:

/path/to/nw.exe <folder path of the manifest.json file>

除了我的应用程序和辅助扩展程序之间的相互通信等极少数事情外,即使它是一个具有近 3000 行 JS 代码的高级应用程序,一切都按预期进行,零更改。

对于新的跨平台应用,Electron 可能是更好的选择(我实际上不知道),但对于现有的 Chrome 应用,我会说 nw.js 确实是你应该考虑的东西。

希望这可以帮助处于相同位置的人。

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2019-09-07
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多