与 Electron 相比,Chrome 应用程序的优缺点是什么?
What are the pros and cons of Chrome Apps compared to Electron?
我想在 javascript 中编写桌面应用程序(使用网络技术)并寻找 Electron 和 Chrome 应用程序之间的比较。
我需要的一切似乎都可以通过 Chrome 应用程序实现,但围绕 Electron/NW.js 的炒作却很大。 Electron 有什么优势?是不是Node包太多了?
我认为功能差异对我来说很清楚。
优缺点如下:
+ Chrome Apps can run on Chrome OS
- Chrome Apps needs an installed Chrome Browser
...
2016-08-20 更新:
正如 Eduardo 指出的那样,Google announced 他们将停止 Chrome 所有平台的应用程序,ChromeOS 除外。所以我想这个问题的答案现在已经很明显了。
对于开发了 Chrome 应用程序并有兴趣将其迁移到网络的所有人,这里有一份来自 Google 的指南:https://developers.chrome.com/apps/migration
我认为比较 electron 和 chrome-apps 并不是真正的 possible。这取决于您的程序应该做什么。
那么,什么时候应该用electron呢?
Electron 乍一看像 chrome,因为 Electron 的视图是基于 chrome 浏览器的。但是 Electron 是一个完整的 node.js 环境,顶部有一个 chrome 视图。所以强大的功能不仅仅是洞察 chrome 部分。
正如您提到的,有很多节点模块(超过 1.700.000),您可以非常轻松地安装或更新它们。您还应该看看 node.js api (https://nodejs.org/api/)。所有这些都允许您编写复杂的应用程序,这些应用程序完全集成在您的桌面上。对于几乎所有的问题都有一些可用的模块。
有了node你可以先用命令行界面制作你的程序,然后你可以用electron制作一个gui。
所以,如果您已经有了一个用 JS 编写的在线应用程序,也许 chrome-应用程序会更好。 Chrome-应用程序非常适合 google 驱动器使用。或者,如果您想在 chrome-os.
中进行完全集成
所以我的电子 pros:
- 超过 1.700.000 个 npm 模块可用
- 非常容易集成 jQuery、Angular、React、...
- 先用CLI做程序,再做gui
- 与 github
完美搭配
- 非常好的桌面集成
- 提供 windows 个安装程序
你完全可以比较 electron 和 chrome 打包的应用程序。它们非常相似。对于他们两个,你得到:
- 使用 Web 技术开发您的桌面应用程序
- 应用在 Chrome
之上运行
- 自动更新。尽管在 Chrome 中您可以免费获得它,但对于 Electron,您需要做一些工作。
- OS 集成 - 两者与 OS 的集成比普通网站更好,但 Electron 支持更广泛的 OS 集成。
- 离线或在线工作。
- 两者都适用于 Linux、OSX 和 Windows。 Chrome 网络应用程序也适用于 Chrome 书籍。
区别如下:
- Electron 使用 node.js。因此,您可以导入许多在 Chrome 应用程序中不容易获得的模块。
- 分发,使用 electron,您可以自己打包和分发应用程序。使用 Chrome 应用程序,您可以通过 Chrome 网上商店分发它们。
- 环境。 Electron 应用程序与其完整环境打包在一起。 Chrome 应用程序仅使用 Chrome 环境,因此它们更轻便,但对于不同的用户,其行为可能会有所不同,具体取决于他们使用的 Chrome 版本。
- Chrome 应用程序要求用户安装 Chrome,Electron 不需要。
- Electron 有更好的开发人员测试和调试工具。
- Electron 是一个开源平台。 Chrome 应用程序也建立在多种开放技术之上,但特别是分发由 Google 控制。
- 电子文档要好得多,尽管它是一个更年轻的平台。
- 采用:有很多大而成功的应用程序构建在 Electron 之上,例如 Visual Studio 代码、GitHub 客户端、Slack。 Chrome 应用程序从未获得如此大的发展势头。
- Chrome 应用程序可以紧密集成到 Google Drive
2016-08-19 更新:
似乎 Google 最近在 ChromeOS 以外的任何平台上弃用了 Chrome 应用程序。所以我会说它不再是一个有效的选项。
http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html
我想谈谈 Electron 与 nw.js。
我有一个非常受欢迎的 Chrome 应用程序,它既不能转换为 Web 应用程序也不能转换为扩展程序,因为它使用了几个不受支持的 APIs,最值得注意的是 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 确实是你应该考虑的东西。
希望对有相同情况的人有所帮助。
我想在 javascript 中编写桌面应用程序(使用网络技术)并寻找 Electron 和 Chrome 应用程序之间的比较。
我需要的一切似乎都可以通过 Chrome 应用程序实现,但围绕 Electron/NW.js 的炒作却很大。 Electron 有什么优势?是不是Node包太多了?
我认为功能差异对我来说很清楚。
优缺点如下:
+ Chrome Apps can run on Chrome OS
- Chrome Apps needs an installed Chrome Browser
...
2016-08-20 更新:
正如 Eduardo 指出的那样,Google announced 他们将停止 Chrome 所有平台的应用程序,ChromeOS 除外。所以我想这个问题的答案现在已经很明显了。
对于开发了 Chrome 应用程序并有兴趣将其迁移到网络的所有人,这里有一份来自 Google 的指南:https://developers.chrome.com/apps/migration
我认为比较 electron 和 chrome-apps 并不是真正的 possible。这取决于您的程序应该做什么。
那么,什么时候应该用electron呢?
Electron 乍一看像 chrome,因为 Electron 的视图是基于 chrome 浏览器的。但是 Electron 是一个完整的 node.js 环境,顶部有一个 chrome 视图。所以强大的功能不仅仅是洞察 chrome 部分。
正如您提到的,有很多节点模块(超过 1.700.000),您可以非常轻松地安装或更新它们。您还应该看看 node.js api (https://nodejs.org/api/)。所有这些都允许您编写复杂的应用程序,这些应用程序完全集成在您的桌面上。对于几乎所有的问题都有一些可用的模块。
有了node你可以先用命令行界面制作你的程序,然后你可以用electron制作一个gui。
所以,如果您已经有了一个用 JS 编写的在线应用程序,也许 chrome-应用程序会更好。 Chrome-应用程序非常适合 google 驱动器使用。或者,如果您想在 chrome-os.
中进行完全集成所以我的电子 pros:
- 超过 1.700.000 个 npm 模块可用
- 非常容易集成 jQuery、Angular、React、...
- 先用CLI做程序,再做gui
- 与 github 完美搭配
- 非常好的桌面集成
- 提供 windows 个安装程序
你完全可以比较 electron 和 chrome 打包的应用程序。它们非常相似。对于他们两个,你得到:
- 使用 Web 技术开发您的桌面应用程序
- 应用在 Chrome 之上运行
- 自动更新。尽管在 Chrome 中您可以免费获得它,但对于 Electron,您需要做一些工作。
- OS 集成 - 两者与 OS 的集成比普通网站更好,但 Electron 支持更广泛的 OS 集成。
- 离线或在线工作。
- 两者都适用于 Linux、OSX 和 Windows。 Chrome 网络应用程序也适用于 Chrome 书籍。
区别如下:
- Electron 使用 node.js。因此,您可以导入许多在 Chrome 应用程序中不容易获得的模块。
- 分发,使用 electron,您可以自己打包和分发应用程序。使用 Chrome 应用程序,您可以通过 Chrome 网上商店分发它们。
- 环境。 Electron 应用程序与其完整环境打包在一起。 Chrome 应用程序仅使用 Chrome 环境,因此它们更轻便,但对于不同的用户,其行为可能会有所不同,具体取决于他们使用的 Chrome 版本。
- Chrome 应用程序要求用户安装 Chrome,Electron 不需要。
- Electron 有更好的开发人员测试和调试工具。
- Electron 是一个开源平台。 Chrome 应用程序也建立在多种开放技术之上,但特别是分发由 Google 控制。
- 电子文档要好得多,尽管它是一个更年轻的平台。
- 采用:有很多大而成功的应用程序构建在 Electron 之上,例如 Visual Studio 代码、GitHub 客户端、Slack。 Chrome 应用程序从未获得如此大的发展势头。
- Chrome 应用程序可以紧密集成到 Google Drive
2016-08-19 更新:
似乎 Google 最近在 ChromeOS 以外的任何平台上弃用了 Chrome 应用程序。所以我会说它不再是一个有效的选项。
http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html
我想谈谈 Electron 与 nw.js。
我有一个非常受欢迎的 Chrome 应用程序,它既不能转换为 Web 应用程序也不能转换为扩展程序,因为它使用了几个不受支持的 APIs,最值得注意的是 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 确实是你应该考虑的东西。
希望对有相同情况的人有所帮助。