My suggestion is [Sciter](http://sciter.com)
* It's [free](https://sciter.com/prices/) * [Lightweight](https://terrainformatica.com/2018/12/23/sciternode-versus-electron/) * [Cross-platform (win, linux, osx, arm)](https://quark.sciter.com/) * Single dll 5-7mb (depending on renderer) * [Embeddable](https://sciter.com/sciter-lite-is-published/) * Doesn't require you to use it's script language, script stuff can be done through the program's lang (c, go, rust, python, nim...) [if you like react, you can write components in the same way](https://sciter.com/docs/content/reactor/lifecycle.htm) Sadly it's bindings for Nim are outdated: [https://github.com/sciter-sdk/nsciter](https://github.com/sciter-sdk/nsciter) C/C++ Lib: [https://github.com/c-smile/sciter-sdk](https://github.com/c-smile/sciter-sdk)