与Electron相比,Chrome应用程序的优点和缺点是什么
What are the pros and cons of Chrome Apps compared to Electron?
我想用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确实是你应该考虑的。
希望这能帮助到同样处境的人。
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 将Jquery UI与AngularJS一起使用的优点和缺点是什么?
- 使用javascript构建整个网页的缺点是什么
- 与Electron相比,Chrome应用程序的优点和缺点是什么
- 在使用 Jasmine 进行单元测试时,javascript 揭示模块模式的缺点是什么?
- 同时具有网络视图和本地视图的混合应用程序的优点和缺点是什么
- SAPUI5:作为应用程序包装器的容器,sap.m.Shell和sap.m.App的优点和缺点是什么
- 将javascript调用为HTML php样式的缺点(和优点)是什么?
- 使用meteor.js的(潜在)缺点是什么?
- 在数组上设置字符串属性的缺点是什么?
- 如果有的话,使用对象作为数组索引的缺点是什么?
- HTML、JavaScript和CSS最小化的缺点是什么?
- 与官方标准application/ JSON相比,将JSON数据作为文本/javascript提供的优点和缺点是什么?
- 闭包对象创建:这两种方法的优点/缺点是什么
- 在 JavaScript 中创建函数对象的优点/缺点是什么?
- 从外部角度调用$digest的缺点是什么
- 只有Json的web应用程序.缺点是什么?(或专业)
- 以下数据提交方法的缺点是什么?