WebAssembly简称Wasm,是一种新的Web标准。它让浏览器能运行接近原生性能的二进制代码,这篇文章介绍Wasm的基本概念。
一种低级的二进制指令格式,可以被JavaScript调用。C、C++、Rust等语言都能编译成Wasm,在浏览器中运行。
性能比JavaScript快很多,适合做计算密集型任务,比如图像处理、视频编解码、3D渲染等。
图像处理。Photoshop网页版用Wasm实现复杂的图像编辑功能。
视频剪辑。剪映网页版用Wasm做视频渲染,流畅度接近桌面软件。
游戏引擎。Unity、Unreal都能导出WebAssembly,在浏览器跑3D游戏。
加密计算。比特币钱包、密码学运算用Wasm实现,速度快且安全。
最简单的办法是用AssemblyScript,语法类似TypeScript,编译成Wasm。或者用Emscripten把C/C++代码编译过去。
JavaScript通过WebAssembly API加载和调用Wasm模块,数据传递要注意内存管理。
WebAssembly不是替代JavaScript,而是补充。两者结合能做出更强大的Web应用。