GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Support WebAssembly (Mono Runtime) · Issue #38367 · dotnet/runtime

Support WebAssembly (Mono Runtime) #38367

New issue
Copy link
New issue
Copy link
Closed
Closed
Support WebAssembly (Mono Runtime)#38367
Copy link
Labels
EpicGroups multiple user stories. Can be grouped under a theme.Groups multiple user stories. Can be grouped under a theme.arch-wasmWebAssembly architectureWebAssembly architecturearea-Metaruntime-monospecific to the Mono runtimespecific to the Mono runtime
Milestone
5.0.0

Description

@richlander
richlander
opened on Jun 25, 2020
Issue body actions

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

  • Interpreter performance improvements
  • V8 performance improvement reports
  • Add browser wasm support for BenchmarkDotNet

Adopt .NET Runtime Libraries

  • Add support for browser based networking
  • Enable globalization with ICU
  • Support async/tasks in an environment without explicit threads
  • Add new library decorations and IL linker capabilities to reduce final application sizes and improve trimming reliability

SDK

  • Create browser wasm runtime pack for net5.0 tfm
  • Add a reference to the runtime pack in SDK for building and publishing Blazor wasm projects
Reacted by TONY HENRIQUE, lindexi, Shimmy Weitzhandler and CicherMK
Reacted by Dan Moseley, Richard Simpson, András Csányi, Joe4evr, nintroz, Misa Jovanovic, Arkadiusz Wójcik, Bruno Blanes, Eduardo Larios, Patrick Hintermayer and 4 more
Reacted by TONY HENRIQUE and Sam Jongenelen

Activity

  1. richlander
    added
    EpicGroups multiple user stories. Can be grouped under a theme.Groups multiple user stories. Can be grouped under a theme.
    arch-wasmWebAssembly architectureWebAssembly architecture
    runtime-monospecific to the Mono runtimespecific to the Mono runtime
    on Jun 25, 2020
  2. richlander
    added this to the 5.0.0 milestone on Jun 25, 2020
  3. Dotnet-GitSync-Bot
    added
    area-System.Net
    untriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
    on Jun 25, 2020
  4. richlander
    removed
    untriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
    on Jun 25, 2020
  5. danmoseley
    added
    area-Meta
    and removed
    area-System.Net
    on Jun 25, 2020
  6. benaadams commented on Jun 28, 2020

    @benaadams
    benaadams
    on Jun 28, 2020
    Member
    More actions

    Is AoT to WebAssembly in scope? e.g. to convert everything to WebAssembly rather than using a WebAssembly IL interpreter

  7. marek-safar commented on Jun 29, 2020

    @marek-safar
    marek-safar
    on Jun 29, 2020
    Contributor
    More actions

    Is AoT to WebAssembly in scope

    WebAssembly AOT support is planned for .NET 6.0 release

  8. srxqds commented on Aug 9, 2020

    @srxqds
    srxqds
    on Aug 9, 2020
    Contributor
    More actions

    will mono runtime replaced by coreclr runtime in the feature?

  9. RChrisCoble commented on Aug 10, 2020

    @RChrisCoble
    RChrisCoble
    on Aug 10, 2020
    More actions

    Support async/tasks in an environment without explicit threads

    Chrome started supporting WebAsembly Threads in 2018:

    https://developers.google.com/web/updates/2018/10/wasm-threads

  10. Rand-Random commented on Aug 17, 2020

    @Rand-Random
    Rand-Random
    on Aug 17, 2020
    More actions

    Can you explain in more detail why the mono runtime is used?
    The reason I am picking up is you are using the Mono runtime over the CoreCLR runtime because the uno platform uses it?

    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?

  11. danmoseley commented on Aug 24, 2020

    @danmoseley
    danmoseley
    on Aug 24, 2020
    Contributor
    More actions

    Closing as we have completed 5.0 work planned

  12. danmoseley
    closed this as completedon Aug 24, 2020
  13. ghost locked as resolved and limited conversation to collaborators on Dec 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicGroups multiple user stories. Can be grouped under a theme.Groups multiple user stories. Can be grouped under a theme.arch-wasmWebAssembly architectureWebAssembly architecturearea-Metaruntime-monospecific to the Mono runtimespecific to the Mono runtime

    Type

    No type

    Projects

    No projects

      Milestone

      • 5.0.0

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.