我想用javascript(使用网络技术)编写桌面应用程序,并查找Electron和Chrome应用程序之间的比较。
我需要的一切似乎都可以通过Chrome应用程序实现,但围绕Electron / NW.js的大肆宣传。 Electron有哪些优点?这是由于大量的Node包吗?
我认为功能差异对我来说很清楚。
优点和缺点:
+ Chrome Apps can run on Chrome OS
- Chrome Apps needs an installed Chrome Browser
...
正如Eduardo所指出的,Google announced他们将停止所有平台的Chrome应用程序,而不是ChromeOS。所以我认为这个问题的答案现在很明显。
对于开发Chrome应用并且有兴趣将其迁移到网络的所有人来说,这是Google的指南:https://developers.chrome.com/apps/migration
答案 0 :(得分:23)
您可以完全比较电子和Chrome打包应用。它们非常相似。对于他们两个,你得到:
以下是不同之处:
Google最近在ChromeOS以外的任何平台上都弃用了Chrome应用。所以我说它不再是一个有效的选择。
http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html
答案 1 :(得分:2)
我认为不太可能比较电子和Chrome应用程序。这取决于你的程序应该做什么。
那么,我什么时候应该使用电子?
首先看电子看起来像铬,因为电子的视图是基于Chrome浏览器。但是电子是一个完整的node.js环境,顶部有一个镀铬视图。所以强大的功能不仅仅是洞察铬部分。
就像你提到的那样,有很多节点模块(超过200.000),你可以很容易地安装或更新。您还应该查看node.js api(https://nodejs.org/api/)。所有这些都可以让您编写完全集成在桌面上的复杂应用程序。几乎所有问题都有一些可用的模块。
使用节点,您可以先使用命令行界面制作程序,然后可以使用电子制作gui。
所以,当你已经有一个用JS编写的在线应用程序时,也许chrome-app更好。 Chrome应用非常适合谷歌驱动器使用。或者如果你想在chrome-os中进行完全集成。
所以我的电子专业人士:
答案 2 :(得分:1)
我想参加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是你应该考虑的事情。
希望这可以帮助处于相同位置的人。