在 .NET 7上使用 WASM 和 WASI
WebAssembly(WASM)和WebAssembly System Interface(WASI)为开发人员开辟了新的世界。.NET 开发人员在 Blazor WebAssembly 发布时熟悉了 WASM。Blazor WebAssembly 在浏览器中基于 WebAssembly 的 .NET 运行时上运行客户端。WASI通过提供一个系统接口来在Web之外运行WebAssembly,从而将WASM带出浏览器世界。它是 WASM 模块如何与主机环境交互的标准。
什么是WASM?
WebAssembly(WASM)是基于堆栈的虚拟机的二进制指令格式。WASM 是编程语言的可移植编译目标。它是一种低级汇编语言,具有紧凑的二进制格式,运行接近本机的性能,并提供 C#、C/C++ 和 Rust 等语言。具有可在浏览器和其他环境中运行的编译目标。
什么是WASI?
WebAssembly 系统接口 (WASI) 是 WASM 模块如何与主机环境交互的标准。WASI是WebAssembly系统接口的规范。它是一组 API,WebAssembly 模块可以调用这些 API 来访问主机环境。
由于 WASI 是在浏览器之外安全地运行 WASM,因此它无法利用嵌入到我们现代 Web 浏览器中的运行时。它需要另一个运行时。这就是为什么像Wasmtime,Wasmer或WasmEdge这样的运行时存在的原因。Wasmtime是WebAssembly的独立JIT风格的运行时。它被设计为作为独立的命令行实用程序运行,嵌入到其他应用程序中,或用于在更大的运行时中运行WebAssembly模块。
.NET 7 WASI SDK
被称为 ASP.NET Core Blazor WebAssembly 之父的 Steve Sanderson,他在年初几个月前打开了 GitHub 存储库SteveSandersonMS/dotnet-wasi-sdk。 “Experimental WASI SDK for .NET Core” 就这么诞生了。几周前,这个仓库被转移到 dotnet/dotnet-wasi-sdk。这是否暗示它已准备好进入下一步? 我深信不疑,我们会在 2022 年 .NET 大会期间会听到Steve Sanderson 聊这一点。
2022.11.8 09:30 - 10:00 PST
.NET 7 中 Blazor 的新增功能
Steve Sanderson
.NET 7 中的 Blazor 增加了许多新的改进,使构建漂亮的交互式 Web UI 更轻松、更高效。在本次会议中,我们将介绍对自定义元素的新支持、改进的数据绑定、处理位置更改事件、显示加载进度、动态身份验证请求等!
如何使用 WASI SDK for .NET 构建 .NET 7 Web Api,具体参考 “如何使用:ASP.NET 核心应用程序” ,创建一个 .NET 7 Web API 项目,然后添加适用于 .NET 的 WASI SDK。
相关文章
- .NET平台下的微信SDK(Rabbit.WeiXin)开源发布
- xp系统为什么无法安装.Net该如何解决呢
- TIOBE 2015年5月编程语言排行榜 Visual Studio语言在上升
- .NET高级工程师面试题之SQL篇
- .NET出现频率非常高的笔试题
- ASP.NET 大文件下载的实现思路及代码
- ASP.NET七大身份验证方式及解决方案
- .NET 核心开源
- 微软宣布.NET开发环境将开源 支持Mac OS X和Linux
- .NET界面控件Essential Studio全线升级至2014 v3
- 使用SQL Server In-Memory存储ASP.NET的会话状态
- .NET程序的性能要领和优化建议
- 面向.Net程序员的dump分析
- 8 种提升 ASP.NET Web API 性能的方法
- 为什么我不再用 .NET 框架
- 构建多语言的 WPF 应用
- 谁说.net 不上档次?让 Asp.net 在 MAC 上飞
- C#联通新版验证码识别的实现
- 微软 .Net 开源背后的故事
- PHP 还是 ASP.NET:我做了正确选择么?