使用 Golang 编写第一个 wasm 程序
什么是wasm
wasm
是WebAssembly
的简称。WebAssembly
是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C / C ++等语言提供一个编译目标,以便它们可以在 Web 上运行。它也被设计为可以与 JavaScript 共存,允许两者一起工作。
对于网络平台而言,WebAssembly 具有巨大的意义——它提供了一条途径,以使得以各种语言编写的代码都可以以接近原生的速度在 Web 中运行。在这种情况下,以前无法以此方式运行的客户端软件都将可以运行在 Web 中。
引用MDN
使用场景
XR(AR/VR/MR)
- 视频剪辑
- 图像视频
- 人工智能
案例/Demo
- Figma
- 在 WebAssembly 中运行的 Windows 10 计算器
- 坦克
- ffmpeg wasm 截取视频帧功能
- AI-象棋(找不到地址了)
- …
优势
- 复杂计算时更好的性能
- 可以将其它语言符合规范的库打包为
wasm
直接在js
中使用 - 运行黑盒,安全性高
- 复用性
- …
兼容性
交互方式
待补充
现有可把玩库推荐
- ffmpeg
- …