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.
Hello World type application is used in each framework on Linux and Windows for the evaluation.
- Ubuntu 18.04.1 LTS
- Windows 10 Enterprise
1. Disk Consumption
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
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
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
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
Portable SDK size 5.8 MB Portable SDK size (zipped) 1.1 MB File count 11
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
Linux ~ 40 - 42 MB Windows ~ 40 - 45 MB
Linux ~ 62 - 65 MB Windows ~ 45 - 50 MB
Linux ~ 8 - 9 MB Windows ~ 6 - 7 MB
3. Easiness of Development Workflow
Note - neu-cli offers an automated development workflow
Neutralino app is served via a socket. Therefore debugging can be done using a web browser.
Neutralino's performance basically depends on the performance of C++ server implementation. Here is the result 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|
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.
Refer guidelines here