Hi,
I'm coming from Go and recently had some interest in Web Assembly, but I don't feel Go is particular good for it, mainly because of the enormous binary sizes. Therefore I looked around for a new language and Nim seems to be perfect for it, its modern , fast and produces small binaries at least according to the website.
I found some attempts from last year, but are there any recent developments or future plans?
Emscriptens emcc can be used as a C compiler for Nim. Emscripten offers some OpenGL APIs (mapping them to WebGL), so OpenGL-based UI frameworks should work.
Until WASM has no direct DOM access its not a big deal to worry about this target.
Accessing the DOM via a JavaScript bridge as emscripten does is is slow, granted. But how many of these calls really occur? Another way to communicate DOM changes from WASM would be using shared memory, not sure how far this is implemented/activated in browsers.
Now I don't know what to select -- classical web framework or light Xserver implemented in WASM.
If you go for X, a Wayland compositor with XWayland support like sway may be worth considering.