All Projects → neutralinojs → Evaluation

neutralinojs / Evaluation

Licence: mit
Neutralinojs vs Electron vs Nw.js

Projects that are alternatives of or similar to Evaluation

web-to-desktop-framework-comparison
This repository was made to create an objective comparison of multiple framework that grant us to "transform" our web app to desktop application formats.
Stars: ✭ 605 (+101%)
Mutual labels:  nwjs, electronjs
GSP
Central repository for GSPLauncher and GSPGames
Stars: ✭ 14 (-95.35%)
Mutual labels:  nwjs
node-mac-contacts
Create, read, update, and delete contacts from users' contacts databases on macOS.
Stars: ✭ 48 (-84.05%)
Mutual labels:  electronjs
taggr
⚡️ Rediscover your memories while keeping your privacy.
Stars: ✭ 20 (-93.36%)
Mutual labels:  electronjs
soube
Music player based on electronjs
Stars: ✭ 32 (-89.37%)
Mutual labels:  electronjs
nwjs-shell-builder
NW.js (node-webkit) shell script builder and packager scripts
Stars: ✭ 79 (-73.75%)
Mutual labels:  nwjs
nwjs-boilerplate
nw.js (node-webkit) boilerplate
Stars: ✭ 26 (-91.36%)
Mutual labels:  nwjs
Lightyearvpn
翻墙,科学上网,梯子,VPN下载,加速器,外网,代理,路由,防火墙,GFW。支持UDP,游戏必备。免费VPN试用,全球Shadowsocks节点。免费SS节点,SSR节点和V2ray节点。
Stars: ✭ 282 (-6.31%)
Mutual labels:  electronjs
Tana
Bringing the Picture-in-Picture experience to the desktop.
Stars: ✭ 109 (-63.79%)
Mutual labels:  electronjs
Signal-Desktop-installer
Deprecated, please use official standalone Signal Desktop
Stars: ✭ 15 (-95.02%)
Mutual labels:  nwjs
memento-svelte-electron-typescript
Template to create a desktop app with Svelte, TailwindCSS, Electron and TypeScript (with electron-updater, electron-reload and electron-builder)
Stars: ✭ 27 (-91.03%)
Mutual labels:  electronjs
Darkorbit-client
Open source darkorbit client (cross-platform and with better performance)
Stars: ✭ 59 (-80.4%)
Mutual labels:  electronjs
svelte-electron-boilerplate
🧬 Create a desktop app with this user-friendly Svelte boilerplate for electron
Stars: ✭ 70 (-76.74%)
Mutual labels:  electronjs
html5-screensaver-node-webkit
Screensaver made with HTML5, CSS, Javascript and NodeJS driven by node-webkit
Stars: ✭ 30 (-90.03%)
Mutual labels:  nwjs
Vue Electron Template
An Electron & Vue.js template with Hot-reloading enabled and common Vue plugins, dev, debug and build scripts configured.
Stars: ✭ 260 (-13.62%)
Mutual labels:  electronjs
albumArtCreator
A simple tool to make it easy to create good looking album art
Stars: ✭ 26 (-91.36%)
Mutual labels:  electronjs
stato-electron
An app to let you do your work without letting anybody disturb you in between 💻.
Stars: ✭ 13 (-95.68%)
Mutual labels:  electronjs
electron-react-parcel-boilerplate
Boilerplate code to create basic, production ready Electron app using React, Parcel application bundler.
Stars: ✭ 48 (-84.05%)
Mutual labels:  electronjs
Kiosk
Allows any URL to be loaded as a fullscreen kiosk.
Stars: ✭ 293 (-2.66%)
Mutual labels:  nwjs
Vue Nw Seed
A seed project with vue and nwjs
Stars: ✭ 275 (-8.64%)
Mutual labels:  nwjs

Why Neutralinojs is better for lightweight apps? — proof

Neutralinojs framework was evaluated in comparison with Electron and NW.js considering disk consumption, memory consumption, easiness of development workflow and portability.

Please notice that the following comparison data may not match with the latest releases of Neutralinojs, NW.js, and Electron. This benchmark was done in 2018.

Sample applications

Simple Hello World type application is used in each framework on Linux and Windows for the evaluation.

Figure 1: Sample cross-platform apps written using Electron, NW.js and Neutralino respectively on Linux.

Figure 2: Sample cross-platform apps written using Electron, NW.js and Neutralino respectively on Windows.

OS details

  • Ubuntu 18.04.1 LTS
  • Windows 10 Enterprise

1. Disk Consumption

Node Webkit

Linux

Zipped SDK size                   95.8 MB
Project Size                      1 KB
Application bundle                97.2 MB
Application bundle (zipped)       36.9 MB
File count of project             5         

Windows

Zipped SDK size                   72.7 MB
Project size                      2 KB
Application bundle                78.1 MB
Application bundle (zipped)       32.3 MB
File count of project             5

Electron

Linux

Build package                     51.53 MB
node_modules count                147 
File count of project             1539
Project size                      136.4 MB
Application bundle                128.6 MB
Application bundle (zipped)       51.5 MB

Windows

Build package                     53.16 MB
node_modules count                180 
File count of project             1368
Project size                      125 MB
Application bundle                118 MB
Application bundle (zipped)       50.4 MB

Neutralinojs

Linux

Portable SDK size                 5.8 MB
Portable SDK size (zipped)        1.1 MB
File count                        11

Windows

Portable SDK size                 5.53 MB
Portable SDK size (zipped)        1.01 MB
File count                        11

SDK and application bundle are similar things in Neutralino. We will be introducing an application builder CLI soon!. Alternatively project can be zipped as the application bundle. Special case is that a single application bundle will work on both platforms unlike other frameworks do.

See proof directory for sample sources and binary releases.

2. Memory consumption

NW.js

Linux                           ~ 40 - 42 MB
Windows                         ~ 40 - 45 MB

Electron

Linux                           ~ 62 - 65 MB
Windows                         ~ 45 - 50 MB

Neutralinojs

Linux                           ~ 8 - 9 MB
Windows                         ~ 6 - 7 MB  

3. Easiness of Development Workflow

Electron

NW.js

Neutralino

Note - neu-cli offers an automated development workflow

Neutralino Debugging

Neutralino app is served via a socket. Therefore debugging can be done using a web browser.

Figure 3: Debugging a Neutralino based app using Google Chrome.

4. Performance

Neutralino's performance basically depends on the performance of C++ server implementation. Here is the result for Neutralino.os.runCommand for ls command for 100 samples. It took average 6 miliseconds to respond ls bash command.

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
HTTP Request 100 6 6 8 9 11 4 13 0.000% 87.87346 12.36 22.05
TOTAL 100 6 6 8 9 11 4 13 0.000% 87.87346 12.36 22.05

Result was captured by Apache JMeter using this test plan. See more details about this report here.

5. Conclusion

According to the results of this expertiment Neutralino can be used as a lightweight alternative for Electron and NW.js. Furthermore another experiment needs to be done by using somewhat large cross platform application such as draw.io. There are some drawbacks such as Windows edition is based on IE etc.

6. Contribution

Refer guidelines here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].