我们计划建立跨平台的桌面应用程序。我们发现Node-Webkit对我们来说是一个完美的选择。但GitHub开发了自己的名为Electron的框架,而不是使用Node-Webkit。
它们之间的区别是什么?
发布于 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进行浏览器测试。
node_bindings
代码了解如何做到这一点。是NW.js
通过使用Node的多上下文功能,电子不会在网页中引入新的JavaScript上下文。
注意:从0.13开始,NW.js可选地支持多上下文。
鉴于硬件制造商、微软、Chromium和Node.js甚至还没有为该系统发布关键的安全更新,我们必须警告你,使用Windows XP是非常不安全和完全不负责任的。
然而,我们知道,可能存在超出我们想象的需求,所以如果您正在寻找运行在Windows XP上的像Electron这样的东西,NW.js传统版本可能是适合您的。
例如,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。
https://stackoverflow.com/questions/23509356
复制相似问题