首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node-Webkit vs Electron

Node-Webkit vs Electron
EN

Stack Overflow用户
提问于 2014-05-07 13:22:23
回答 1查看 39.8K关注 0票数 81

我们计划建立跨平台的桌面应用程序。我们发现Node-Webkit对我们来说是一个完美的选择。但GitHub开发了自己的名为Electron的框架,而不是使用Node-Webkit。

它们之间的区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-07 15:43:52

电子有一个解释与nwjs不同的page

与NW.js一样,

也提供了一个使用web技术编写桌面应用程序的平台。这两个平台都使开发人员能够利用HTML、JavaScript和Node.js。从表面上看,它们似乎非常相似。

然而,这两个项目之间存在根本性的差异,这使得电子产品与NW.js完全不同。

应用程序的HTML在NW.js中,应用程序的主要入口点可以是网页。在这种情况下,NW.js将在浏览器窗口中打开给定的入口点。

在Electron中,入口点始终是JavaScript脚本。您可以手动创建浏览器窗口并使用API加载HTML文件,而不是直接提供URL。您还需要侦听窗口事件以决定何时退出应用程序。

电子的工作原理更像是Node.js运行时。电子的API是低级的,所以你可以用它来代替PhantomJS进行浏览器测试。

  1. 节点集成在NW.js中,网页中的节点集成需要修补Chromium才能工作,而在Electron中,我们选择了一种不同的方式将libuv循环与每个平台的消息循环集成在一起,以避免黑客攻击Chromium。请参阅node_bindings代码了解如何做到这一点。

  1. JavaScript context如果您是经验丰富的NW.js用户,则应熟悉节点上下文和web上下文的概念。这些概念之所以被发明,是因为implemented.

是NW.js

通过使用Node的多上下文功能,电子不会在网页中引入新的JavaScript上下文。

注意:从0.13开始,NW.js可选地支持多上下文。

  1. 传统支持NW.js仍然提供支持Windows XP的“传统版本”。它不接收安全更新。

鉴于硬件制造商、微软、Chromium和Node.js甚至还没有为该系统发布关键的安全更新,我们必须警告你,使用Windows XP是非常不安全和完全不负责任的。

然而,我们知道,可能存在超出我们想象的需求,所以如果您正在寻找运行在Windows XP上的像Electron这样的东西,NW.js传统版本可能是适合您的。

  1. 功能在支持的功能数量上有许多不同。电子有一个更大的社区,更多的生产应用程序使用它,并在npm上提供大量的用户模块。

例如,Electron内置了对自动更新的支持和无数的工具,使安装程序的创建变得更容易。作为支持NW.js的一个例子,NW.js支持更多用于Chrome应用程序开发的Chrome.* API。

当然,我们相信对于使用web技术(如Visual Studio Code、Slack或Facebook Messenger)构建的精致生产应用程序,Electron是更好的平台;然而,我们希望公平对待我们的web技术朋友。如果你有电子不能满足的功能需求,你可能想试试NW.js。

请记住,这可能是有偏见的--它来自Electron的维基页面。

电子不会引入

在网页中

一个新的JavaScript上下文。

源代码保护

电子正在使用asar打包其应用程序,其中包含应用程序的未受保护的源代码。这使得应用程序1可以在用户不知道的情况下提取应用程序2并注入易受攻击的脚本。你可以在this project on GitHub to see an example of how to manipulate the Slack app上查看一个例子。就目前而言,the Electron team don't have any plans to implement support for source code protection

NW.js有built in support for compiling your source code to protected binaries

票数 79
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23509356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档