-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support WebAssembly (Mono Runtime) #38367
Comments
Tagging subscribers to this area: @dotnet/ncl |
Is AoT to WebAssembly in scope? e.g. to convert everything to WebAssembly rather than using a WebAssembly IL interpreter |
WebAssembly AOT support is planned for .NET 6.0 release |
will mono runtime replaced by coreclr runtime in the feature? |
Chrome started supporting WebAsembly Threads in 2018: https://developers.google.com/web/updates/2018/10/wasm-threads |
Can you explain in more detail why the mono runtime is used? If that is the case can you explain how uno and blazor are linked together, so why uno running on mono makes a difference for blazor? What are the plans to switching to CoreCLR? |
Closing as we have completed 5.0 work planned |
Support WebAssembly (Mono Runtime)
WebAssembly is a relatively new virtual machine execution environment that can run any program that can be described in and target the web assembly binary instruction format. It is supported by all major browsers, although isn’t browser-specific. We expect more general uses of WebAssembly to become commonplace in the coming years. It is important that .NET developers can publish apps to environments that support WebAssembly.
We released a first version of support for WebAssembly with Bazor WebAssembly 3.2. It was based on the Mono runtime and libraries. Uno Platform also relies on Mono for its WebAssembly support.
In .NET 5.0, we will continue to use the Mono runtime, and will switch to using the .NET 5.0 libraries. There are two major benefits to this change: better throughput performance, and higher compatibility with .NET 5.0 non-WebAssembly code. The compatbility isn’t perfect, since we’re using two different runtimes (Mono for WebAssembly and CoreCLR for everything else), and the WebAssembly environment imposes restrictions on what .NET code can do.
The following work items describe the work items required for the project. These bullets will be changed to links as we create new issues for them.
Mono Runtime Performance
Adopt .NET Runtime Libraries
SDK
The text was updated successfully, but these errors were encountered: