Skip to content

WASI Developer Experience Goals #96419

Open
@richlander

Description

@richlander

WASI Developer Experience Goals

WebAssembly System Interface is an exciting technology. Lots of work has already gone into enabling C# with WASI.
dotnet/runtime #65895 defines a set of low-level requirements for providing a working implementation. We can up-level that into a set of developer experience goals.

The following are proposed changes in various categories. Please propose your own.

Related (interview about WASI and C#): https://www.youtube.com/watch?v=fnAjxzMPPqk

Building

  • Remove requirement for runtimeconfig.template file.
  • Enable building single file wasm files by default (which may require installing the WASI SDK with the workload).
  • Enable publishing AOT with a gesture similar to PublishAot.

Running

  • Enable using Wasm runtime args with dotnet run (otherwise dotnet run isn't generally useful).
  • Remove the existing dotnet run "helpful" output.

Programmability

  • Enable importing popular WASI functionality (possibly worlds) as NuGet packages.
  • Import other WASI functionality with a reference to a WIT file.
  • Import Preview 2 components.
  • Enable async with WASI interfaces.
  • Enable HttpClient as-is (particularly for https endpoints).
  • Enable minimal APIs (for handling Web requests).

More detailed work breakdown #65895

Metadata

Metadata

Assignees

Labels

arch-wasmWebAssembly architecturearea-Metaos-wasiRelated to WASI variant of arch-wasmtrackingThis issue is tracking the completion of other related issues.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions