As you may have seen in Miguel’s post (http://www.mono-project.com/news/2017/08/09/hello-webassembly/) we have been experimenting with porting Mono to WebAssembly, and thought you would like to know what we have so far and where we are heading.
Our current plan is to build a “hybrid” version of Mono for WebAssembly that supports both interpreted and compiled programs. The interpreter mode would be used for development / debugging and the compiled mode would be used for deployment / release.
So far we have an early version of the Mono interpreter working as well as a
mono-wasm tool that statically compiles ahead-of-time IL assemblies into WASM code (as well as linking/stripping the IL code), using the experimental LLVM WebAssembly backend and the binaryen tooling.
Currently we are focusing on bringing incremental WASM compilation to the compiler, tuning the garbage collector, customising the mscorlib library, exposing APIs (C# to JS and vice-versa), and a few more things.
The work that we are doing hasn’t converged yet into the Mono repository but as soon as it does we will start releasing builds that you can play with and report feedback about. We are very excited by WebAssembly and hope you will too!