Neutralinojs — фреймворк с открытым исходным кодом для создания кроссплатформенных приложений на HTML/CSS/JS. Отличие от Electron в том, что для запуска приложения на Neutralinojs не нужно устанавливать nodejs и сотни зависимостей, тянущихся из package.json. Давайте сравним Hello World приложение на Neutralinojs и Electron. Приложение на Neutralinojs можно запустить на Windows или Linux (на данный момент MacOS не поддерживается, но это планируется исправить в ближайшем будущем). Я запускал на Ubuntu 17.10.
Hello World на Neutralinojs
Скачиваем архив neutralinojs-v1.1.0.zip (поддержка запуска полностью из командной строки в планах разработки) и распаковываем.
Запускаем:
./neutralino
На Windows:
neutralino.exe
Приложение запускается и выглядит вот так:
Оперативная память: создается три процесса (neutralino, WebKitNetworkProcess, WebKitWebProcess) — в сумме они занимают 35 mb.
Обьем папки с файлами на диске: 5 mb.
Hello World на Electron
Клонируем репозиторий с файлами и переходим в созданную папку:
git clone https://github.com/electron/electron-quick-start cd electron-quick-start
Обьем склонированных файлов: 344 kb.
Подтягиваем недостающие пакеты:
npm install
Появилась папка node_modules, обьем файлов в папке приложения стал: 218 mb.
Запускаем приложение:
npm start
Приложение запускается и выглядит вот так:
Оперативная память: я насчитал шесть процессов (electron-quick-start, три процесса electron, node, npm) — в сумме они занимают 83 mb.
Итог
Приложение | Занято на диске (mb) | Занято оперативной памяти (mb) |
---|---|---|
Hello World на Neutralinojs | 5 | 35 |
Hello World на Electron | 218 | 83 |
Разница по потреблению памяти, что называется, на лицо.
Подробнее о проекте Neutralinojs можете прочитать здесь.
UPD
Приношу извинения, у меня было указано, что HelloWorld на NeutralinoJs занимает 9 mb оперативной памяти и что создается один процесс, на самом деле оно занимает 35 mb оперативной памяти и создается три процесса. Спасибо Jouretz за наводку.
UPD2
На Хабре появились еще две статьи о Neutralinojs:
https://habr.com/ru/post/438402/
https://habr.com/en/post/443572/