WASM
编辑
236
2023-09-30
概述
WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C / C ++等语言提供一个编译目标,以便它们可以在 Web 上运行。它也被设计为可以与 JavaScript 共存,允许两者一起工作。
优势
- 跨平台特性,现代浏览器基本都支持
- 比 js 快,编译成二进制,对计算密集型应用很友好(参考 waifu2x)
- 支持多种语言,例如 C/C++, Rust, Go 等
劣势
- 虽然能够操作 dom,给了例如 Go 写前端的可能,但是比较鸡肋
- 如果只是为了嵌在前端用,且对性能不敏感的情况,直接写 js 比混编要方便
WASM with Go
go 官方的编译器就支持编译成 wasm,例如
GOOS=js GOARCH=wasm go build -o main.wasm main.go
也可以使用 TinyGo。
tinygo build -o wasm.wasm -target wasm ./main.go
demo: Using WASM | TinyGo
参考
- 0
- 0
-
赞助
微信赞赏码 -
分享