WASI 0.3 预览版在 Wasmtime 37+ 中发布:WebAssembly 组件的原生异步到来
ReactNode.jsDevOps
WASI 0.3 预览版——将 WASI 基于 WebAssembly 组件模型重构,以提供原生异步原语(future
变化概述(简短)
- WASI 0.3 在组件 ABI 级别引入了原生异步(future/stream 类型和异步函数签名),允许组件在不需要尴尬的手动状态机的情况下等待主机 I/O。这将许多 0.2 接口重构为使用异步原语。(wasi.dev)
- Wasmtime(37+)在功能标志后面暴露了组件模型异步支持,因此运行时和工具链可以开始今天就体验真实的异步组件场景。(docs.rs)
为什么全栈团队应该关注
- 服务器端 WebAssembly 对网络服务变得实用:异步优先的 I/O 减少了主机的变通方法,使长时间运行或高并发模式对基于 Wasm 的微服务和边缘函数变得更简单、更高效。(wasi.dev)
- 真实的多语言组合:编译为 Wasm 组件的语言工具链(Rust、AssemblyScript、.NET 等)可以在异步合同上进行互操作,而无需定制的粘合代码,从而提高后端和边缘层的重用性和安全性。(wasi.dev)
- 工具和构建链将发生变化:随着生态系统采用 0.3 形态,预计编译器、绑定生成器和运行时标志(特别是 wasm 目标和 rustc/wasi 目标)会有更新。Wasmtime 的功能标志使得现在可以测试这些集成。(docs.rs)
立即的实际影响
- 概念验证的平衡:评估 Wasm 用于服务器或边缘工作负载的团队应在 Wasmtime 37+ 上运行集成证明,以验证异步行为和流语义,然后再承诺跨运行时假设。(wasi.dev)
- 工具链监控:关注语言目标(例如 Rust/工具链中的 wasm32-* 目标)、组件感知的打包工具和需要打包组件而非核心模块的 CI 构建工具的更新。(wasi.dev)
- 互操作测试:添加组件级集成测试,以验证异步生命周期和取消语义(在实现的情况下)——0.2 和 0.3 表示之间的差异是故意非平凡的,必须在您的管道中进行验证。(wasi.dev)
结论 WASI 0.3 的原生异步在 Wasmtime 37+ 中的到来,是迄今为止服务器端 WebAssembly 最重要的平台级变化:它将之前尴尬的异步故事转变为一等公民原语,解锁了更简单的异步 I/O、流和可组合的多语言组件。构建在 Wasm 上的团队应立即开始集成测试,并密切关注工具链和运行时的更新,因为 0.3 预览版朝着正式发布不断演进。(wasi.dev)
来源:
来源
继续阅读
Svelte 5.52.0 为 {@html} 增加 TrustedHTML 支持,实现更安全的 Trusted Types 集成
2026年2月21日Svelte 5.52.0(2026年2月18日)为 {@html} 表达式添加 TrustedHTML 支持,使应用能够在不进行字符串强制转换的情况下与浏览器的 Trusted Types 互操作——对 SSR 和客户端渲染的应用来说,XSS 防护很重要。
Next.js 16 使 Turbopack 成为开发和构建的稳定默认选项
2026年2月20日Next.js 16 将 Turbopack 调整为稳定/默认,提升对 Node.js 的最低版本要求,并发布面向生产的缓存原语——全栈团队现在必须改变的事项。
Vite 8.0.0‑beta.14 增加服务器端 .wasm?init(WASM 服务器端渲染)并将 Rolldown 更新至 1.0.0‑rc.4
2026年2月19日Vite 的 2026 年 2 月 12 日测试版引入对预初始化 WebAssembly 模块的 SSR 支持,并将打包器集成升级至 Rolldown 1.0.0‑rc.4——这是一项实用的变更,能够减少客户端 hydration 的工作量并提升 Wasm 密集型服务器渲染的工具链稳定性。