分享

NW.js & Electron Compared

 昵称597197 2016-01-07
 you wish to create a native desktop application from web technologies, the open source world offers two main choices: NW.js (formerly node-webkit) and Electron (formerly atom-shell). Deciding which one to go with is not so obvious. That is precisely why I created the comparison chart found in this article. Hopefully, it will help you choose the right tool to build your next physical computing project. At this stage, the chart is a work in progress and needs help from the community. As I have used NW.js quite a bit more than Electron, this post probably suffers from my own bias. Please (respectfully) leave your comments, suggestions and corrections to improve it. In addition to the chart, I will also compile a list of various other key differences that may influence a first time user’s choice. Again, your input is most welcome.

The Chart

 NW.js 0.12.3Electron 0.34.1
Project inception20112014
SponsorIntelGitHub
Platform SupportMac, Linux & Windows
Browser RuntimeChromiumlibchromiumcontent
Layout EngineBlink / WebKit 537WebKit 537
JavaScript EngineV8
Node.js Engineio.js v1.2.0io.js v?
ES6/2015 SupportYes (all from V8 v4.1)Yes (all from V8 v4.4)
Chrome-Equivalent Version4144
Development ModelOpen Source
LicensingMIT License
Entry PointHTML or JavaScript5JavaScript
Bare Distribution Size75MB – 100MB4
(30MB – 34MB zipped)
To confirm. Anybody ?
Chrome Apps SupportYes (in alpha)No
Support of chrome.* APIsYes (in alpha)No
Adobe Flash SupportFull NPAPI PluginPepper Plugin
Mac App Store SupportYes
Windows App Store SupportYes?
Support for Windows XPYesNo
Source Code ProtectionV8 Snapshot1ASAR Archive Support2
Auto-updateMac/Linux/Win (module)Mac/Win (thruSquirrel)
Kiosk ModePartial (Buggy on Mac6)
Windows InstallerThrough nw-builderYes (external module)
html5test.com Score3515520
BrowserMark 2.1 Score352945643
Octane 2.0 Score32761928346
GitHub Trends    
Open Codecs/ContainersVorbis, Theora, Opus, VP8, VP9, PCM, Ogg, WebM, WAV
Licensed Codecs: MP3, MP4, H.264, AACYes (with some effort)Yes

1. This results in a 30% performance hit. It is unclear if it is supported in version 0.13. 
2. This is a very weak protection. It’s basically a TAR archive of all the project files. 
3. On a MacBook Pro Retina running Mac OS X.5.5 (Yosemite). Higher is better. 
4. Unzipped. Depending on platform and architecture. See details in Jared’s comment below.
5. This can be done by using the “node-main” instruction in the package.json file or (in version 0.13 and above) through the Chrome Apps manifest file. 
6. Kiosk mode is enabled upstream by Chromium. If you would like the Chromium team to improve kiosk mode support on Mac, please vote for it.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多