与Electron相比,Chrome应用程序的优点和缺点是什么

What are the pros and cons of Chrome Apps compared to Electron?

本文关键字:缺点 是什么 应用程序 Electron 相比 Chrome      更新时间:2023-09-26

我想用javascript(使用web技术)编程一个桌面应用程序,并寻找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所指出的,谷歌宣布将停止除ChromeOS之外的所有平台的Chrome应用程序。所以我认为这个问题的答案现在是显而易见的。

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

或者,正如谷歌也提到的,你可以将其迁移到Electron或NW.js.

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

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

区别如下:

  • Electron使用node.js。因此,您可以导入Chrome应用程序中不易获得的许多模块
  • 分发,通过电子你自己打包和分发应用程序。使用Chrome应用程序,您可以通过Chrome网上商店进行分发
  • 环境。Electron应用程序与完整的环境打包在一起。Chrome应用程序只是使用Chrome环境,所以它们更轻,但根据不同用户使用的Chrome版本,它们的行为可能会有所不同
  • Chrome应用程序要求用户安装Chrome,而Electron没有
  • Electron有更好的测试和调试开发工具
  • Electron是一个开源平台。Chrome应用程序也建立在多种开放技术之上,但特别是分发由谷歌控制
  • 电子文档要好得多,尽管它是一个年轻得多的平台
  • 采用:在Electron之上构建了许多成功的大型应用程序,如Visual Studio Code、GitHub客户端、Slack。Chrome应用程序从未获得如此大的势头
  • Chrome应用程序可以紧密集成到Google Drive中

更新2016-08-19:

谷歌最近似乎不赞成在ChromeOS以外的任何平台上使用Chrome应用程序。所以我认为这不再是一个有效的选择。

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

我认为不可能真正比较电子和铬应用程序。这取决于,你的程序应该做什么。

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

乍一看,电子看起来像chrome,因为电子的视图是基于chrome浏览器的。但electron是一个完整的node.js环境,上面有一个chrome视图。因此,强大的功能不仅仅是洞察镀铬部分。

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

使用node,您可以首先使用命令行界面制作程序,然后使用electron制作gui。

所以,当你已经有了一个用JS编写的在线应用程序时,也许chrome应用程序更好。Chrome应用程序非常适合谷歌硬盘使用。或者,如果你想在chrome操作系统中进行全面集成。

所以我的电子专业:

  • 超过1.700.000个模块超过npm可用
    • jQuery、Angular、React、
  • 首先用CLI制作程序,然后制作gui
  • 与github完美配合
  • 非常好的桌面集成
  • 提供windows安装程序

我想谈谈Electron与nw.js.

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

该应用程序仍然只能在Chrome的网店上访问,因为应用程序支持将在2018年初之前放弃。尽管如此,我已经花了很多心思和时间来决定如何应对谷歌的举动。

到目前为止,我一直主要针对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确实是你应该考虑的。

希望这能帮助到同样处境的人。