WebAssembly(WASM)是一种低级字节码格式,设计用于在浏览器中高效运行。它不是一种编程语言,而是编译目标:C、C++、Rust、Go等语言都可以编译为WASM。
WASM的设计目标:
- 接近原生速度:WASM的执行速度通常比JavaScript快50-100%
- 内存安全:沙箱化执行
- 与JavaScript互操作:可以调用JavaScript函数,反之亦然
- 跨平台:所有现代浏览器都支持WASM
WASM的应用场景不断扩展:
- 游戏:在浏览器中运行高性能游戏(如Doom 3)
- CAD工具:AutoCAD Web版使用WASM
- 图像和视频处理:在浏览器中处理大型图像
- 机器学习:在浏览器中运行TensorFlow模型
- 数据库:SQLite编译为WASM在浏览器中运行