当前位置: 首页 > 知识库问答 >
问题:

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

顾乐心
2023-03-14

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

我所需要的一切似乎都可以通过Chrome应用程序实现,但围绕Electron/NW有一个很大的宣传。js。电子的优点是什么?这是由于大量的节点包造成的吗?

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

赞成和反对意见如下:

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

正如爱德华多所指出的,谷歌宣布将停止ChromeOS以外所有平台的Chrome应用。所以我认为这个问题的答案现在是显而易见的。

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

或者,正如Google也提到的,您将其迁移到电子或NW. js。

共有3个答案

羊舌涵涤
2023-03-14

我想加入电子与nw.js.

我有一个非常受欢迎的Chrome应用程序,它不能转换为既不是一个Web应用程序,也不是一个扩展,因为它使用了几个不支持的API,最明显的是chrome.fileSystemAPI。

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

到目前为止,我的主要目标是电子,因为这似乎是最受关注的,但我最近才发现nw。js实际上可以开箱即用地运行Chrome应用程序,因为它实现了Chrome的所有API,而Electron只实现了其中的一个子集。

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

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

除了很少的事情,比如我的应用程序和助手扩展之间的互通,即使它是一个拥有近3000行JS代码的高级应用程序,一切都可以按照预期进行。

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

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

郤玉书
2023-03-14

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

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

首先,electron看起来像chrome,因为electron的视图基于chrome浏览器。但电子是一个完整的节点。顶部带有chrome视图的js环境。因此,强大的功能不仅仅是chrome部件。

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

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

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

所以我对电子的优点:

  • 超过1700。在npm上提供1000个模块
杜祺
2023-03-14

你完全可以比较electron和chrome打包的应用程序。他们非常相似。对于这两种情况,您可以获得:

  • 使用Web技术开发桌面应用程序

以下是不同之处:

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

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

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

 类似资料:
  • 问题内容: 当我查看Hibernate,JPA或Spring之类的Java框架时,通常可以通过xml文件进行配置,或者直接在类中添加注释。 我一直在问自己应该走哪条路。 当我使用批注时,我将类及其配置放在一起,但是使用xml可以更全面地了解我的系统,因为我可以看到所有的类配置。 我还以某种方式对注释进行了编译,它应该比解析xml更快,但是,另一方面,如果我想更改配置,则必须重新编译它,而不仅仅是更

  • 问题内容: 我已经读过SPA及其优势。我发现其中大多数令人信服。有3个优点引起了我的怀疑。 问题: 您可以担任SPA的拥护者,并证明我对前三个陈述有误吗? 1. SPA对于响应速度快的网站非常有用: 对于所有中间状态,很难实现服务器端呈现-小视图状态无法很好地映射到URL。 单页应用程序的特点是能够重绘UI的任何部分,而无需服务器往返来检索HTML。这是通过具有处理数据的模型层和从模型读取的视图层

  • 问题内容: 我正在寻找提高某些SQL性能的方法,当前CTE正在脚本中多次使用和引用。我会使用表变量来获得改进吗?(因为代码在函数内,所以不能使用临时表)。 问题答案: 您实际上必须进行性能测试-没有“是/否”答案。根据安迪·利文(Andy Living)上面链接到的文章,CTE只是查询或子查询的简写。 如果您在同一函数中两次或多次调用它,则填充表变量然后加入该表变量或从中选择表变量可能会获得更好的

  • 问题内容: 只是想知道TreeSet的优缺点是什么,是否有人可以告诉我?谢谢! 问题答案: 收藏类之一。它使您可以按键或按键顺序访问集合中的元素。它比ArrayList或HashMap具有更多的开销。当您不需要顺序访问时,只需按键查找即可使用HashSet。使用ArrayList并使用Arrays。如果只想按顺序排列元素,则排序。TreeSet始终保持元素顺序。使用ArrayList,您可以在需要

  • 问题内容: 我正在弄乱node.js,发现了两种读取文件并通过有线方式发送文件的方法,一旦我确定它存在并使用writeHead发送正确的MIME类型: 如果所讨论的文件很大,例如视频,fs.createReadStream可能会提供更好的用户体验,我是否正确?感觉好像不那么块状。这是真的?我还需要了解其他优点,缺点,警告或陷阱吗? 问题答案: 如果您只是将“数据”连接到“ write()”,将“关

  • 问题内容: 现在RC1已经发布了,我需要一劳永逸地决定是使用MS Ajax库还是仅将jQuery用于AJAX请求。该应用程序是一个新应用程序。本质上,我将决定的方式是,我是否会从Microsoft库中获得任何我不会从jQuery中获得的 显着 收益。我已经加载了jQuery,并且我比其他任何事情都更加担心文件大小的额外开销。 据我所知- 唯一的好处是确实有像这样的助手,但是也许无论如何它们都可以在