My interest in this topic started when I wanted to make available my JavaScript based web games as desktop apps that could eventually be sold on Steam.
After doing some research and trying various options, I think I have a better view of the landscape and would like to share my findings in this post.
UI will remain and behave the same regardless of the operating system used since the same renderer (Chromium) and a fixed version are used.
For Electron and NW.js, you can use Node modules which allows you to interact with the underlying operating system. For example, you can create, read, delete files on the user’s disk. You have access to everything else available on NPM. This eliminates the need to use another language for the backend portion of your app. This is an advantage if you only know JS/TS and only want to stick with one language.
The second option consists in using the operating system’s webview to display the app instead of packaging a Chromium instance with your app. This is what Tauri and Wails does.