Neutralinojs

https://github.com/neutralinojs/neutralinojs
https://neutralino.js.org/docs/getting-started/your-first-neutralinojs-app

Neutralinojs(ニュートラリーノ JS)は Electron の代替となるクロスプラットフォームアプリケーションフレームワークです。Neutralinojs は Chromium をバンドルせず、オペレーティングシステムの既存の Web ブラウザライブラリを使用しているため実行モジュールのサイズが小さいです。hello-world のリリース用のアーカイブファイル hello-world-release.zip のサイズは 1.87 MB (1,961,616 バイト)でした。

Windows 環境での準備

管理者モードのコマンドプロンプトで以下を実行
https://github.com/neutralinojs/v2-specification/blob/main/webview.md

CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.Win32WebViewHost_cw5n1h2txyewy"

Ubuntu 環境での準備

$ sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev libappindicator3-dev

サンプルアプリの作成

npm i -g @neutralinojs/neu
neu create hello-world
cd hello-world

以下のファイルが生成されます。

$ tree -f
.
├── ./LICENSE
├── ./README.md
├── ./bin
│ ├── ./bin/WebView2Loader.dll
│ ├── ./bin/neutralino-linux_armhf
│ ├── ./bin/neutralino-linux_ia32
│ ├── ./bin/neutralino-linux_x64
│ ├── ./bin/neutralino-mac_x64
│ └── ./bin/neutralino-win_x64.exe
├── ./neutralino.config.json
└── ./resources
├── ./resources/icons
│ ├── ./resources/icons/appIcon.png
│ └── ./resources/icons/trayIcon.png
├── ./resources/index.html
├── ./resources/js
│ ├── ./resources/js/main.js
│ └── ./resources/js/neutralino.js
└── ./resources/styles.css

index.html, main.js, styles.css あたりを編集していけばよさそうです。

サンプルアプリの実行

neu run

サンプルアプリのビルド

neu build --release

以下のファイルが生成されます。

$ tree -f -s dist/
dist
├── [ 512] dist/hello-world
│ ├── [ 427928] dist/hello-world/WebView2Loader.dll
│ ├── [ 813008] dist/hello-world/hello-world-linux_armhf
│ ├── [ 894848] dist/hello-world/hello-world-linux_ia32
│ ├── [ 857480] dist/hello-world/hello-world-linux_x64
│ ├── [ 1071672] dist/hello-world/hello-world-mac_x64
│ ├── [ 1741312] dist/hello-world/hello-world-win_x64.exe
│ └── [ 34845] dist/hello-world/res.neu
└── [ 1961616] dist/hello-world-release.zip

Linux で実行

Neutralinojs

SPA(Single Page Application) をデスクトップアプリにする