1、是什么
webAssembly 有一套完整的语义,实际上 wasm 是体积小且加载快的二进制格式,其目标是充分发挥硬件能力以达到原生执行效率。
webAssembly 是一种可以用非 JavaScript 编程语言编写能在浏览器上运行的代码的一种技术方案,实际上就是一种 新的字节码格式。
web开发的第四种语言:
2019年12月5日,webAssembly 正式成为 World Wide Web Consortium (W3C) 的标准,加入到了 Html、CSS和 JavaScript 的行列
2、工作原理
WebAssembly 与其他汇编语言不一样,它不依赖于具体的物理机器,可以抽象地理解成它是概念机器的机器语言。
3、优势
- 文件加载,文件体积更小,所以下载速度更快
- 解析快
- 编译和优化,编译和优化所需要的时间较少,因为在将文件推送到服务器之前已经进行了更多的优化,JavaScript 需要动态类型多次编译代码
- 重新优化,WebAssembly 代码不需要重新优化,因为编译器有足够的信息可以在第一次运行时获得正确的代码
- 执行,执行更快,更接近于机器码
- 垃圾回收,目前 webAssembly 不直接支持垃圾回收,垃圾回收都是手动控制,所以比自动垃圾回收效率更高
- 安全,可以放hash 和签名等
4、应用
-
音视频编解码器
-
图形
-
3D
-
多媒体
-
游戏
-
密码计算
-
便携式语言实现