Comment by andsoitis
2 years ago
> It clearly states: it targets web assembly. So, this should answer your question I think
Not sure what you're implying.
Here's an example of doing graphics using Rust and WASM - http://cliffle.com/blog/bare-metal-wasm/#making-some-pixels
And another: https://blog.logrocket.com/implement-webassembly-webgl-viewe...
Given that MoonBit is developing their own IDE and it is hosted on the web, I would think one could provide an elegant pipeline to do graphics programming, no?
If this were open source, I would contribute in this realm becase I'm a graphics and UI person and also enjoy working with new programming languages.
A WebAssembly runtime is a pure compute+memory sandbox. It can only interact with the host environment in three ways:
1. The host calls an exported WASM function
2. The WASM runtime runs code that calls an imported function
3. The host reads/writes the WASM runtime's memory/globals
In your example, the WASM build process spits out two artifacts - a WASM module and a JS module. The JS module defines the actual JavaScript host functions that manipulate the canvas, and then exposes those functions to the WASM instance.
> I would contribute in this realm becase I'm a graphics and UI person and also enjoy working with new programming languages.
Maybe the case of Makepad will interest you then: https://github.com/makepad/makepad