本计划在 .NET 8 中推出的 WASI 推迟到 .NET 9

本计划在 .NET 8 中推出的 WASI  已推迟到 .NET 9,请参阅 Github 上的 WASI 跟踪问题。在.NET 8 Preview 4 开始支持生成与 WASI 兼容的 .wasm 文件,使用独立的 WebAssembly 运行时 Wasmtime CLI[1] 运行该文件。

去年的文章 在 .NET 7上使用 WASM 和 WASI [2]介绍了 WebAssembly WASI的支持最早在Steve Sanderson 个人仓库 SteveSandersonMS/dotnet-wasi-sdk 开始引入,接着正式引入到 dotnet/dotnet-wasi-sdk, 目前这部分工作已经引入到dotnet/runtime 的WASI 跟踪问题 [3]。  Steve Sanderson 在Youtube视频 [4]解释了如何获得单个 wasm 文件,.NET 8 添加了一个新的“wasi-experimental”工作负载,取代了早期的 Wasi.Sdk。这是为服务器端 WebAssembly 方案提供 .NET 本机内置支持的一个步骤。他还展示了几个令人兴奋的使用示例。

鉴于WASI的字节码联盟 WebAssembly:面向开发人员的更新路线图[5],因为WASI预览版2和3非常有可能会引入重大变化,这对于.NET 对WASI的支持非常有意义。WebAssembly(Wasm)生态系统正在转型。开发人员可以期待一个模块化、可虚拟化且强大的环境来构建应用程序、库和服务。

我们来看一看在.NET 8 下面如何使用WASI。

.NET SDK:.NET 8.0 RC1
dotnet cli :  .NET WebAssembly Build Tools
.NET workloads:
  • wasi-experimental

  • wasm-experimental

  • wasm-tools (来自 Visual Studio)

d5ecde556dda1f009639b348c4518207.png

Wasmtime CLI:通过MSI 安装了14.0 版本

示例程序参考:wasiconsole-hello-world[6]

相关链接:

  • [1]Wasmtime CLI:https://github.com/BytecodeAlliance/wasmtime

  • [2]在 .NET 7上使用 WASM 和 WASI :https://www.cnblogs.com/shanyou/p/16861459.html

  • [3]WASI 跟踪问题 :https://github.com/dotnet/runtime/issues/65895

  • [4] Experiments with the new WASI workload in .NET 8 Preview 4:https://www.youtube.com/watch?v=gKX-cdqnb8I

  • [5]WebAssembly:面向开发人员的更新路线图:https://bytecodealliance.org/articles/webassembly-the-updated-roadmap-for-developers

  • [6]wasiconsole-hello-world:https://github.com/geffzhang/webassembly-experiments/tree/main/wasiconsole-hello-world

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值