WebAssembly是什么?WebAssembly即WASM, WebAssembly是一种新的编码格式并且可以在浏览器中运行,WASM可以与JavaScript并存,WASM更类似一种低级的汇编语言。
WebAssembly介绍
WebAssembly简称WASM,它是可以运行在Web浏览器中的一种可移植、体积小、加载快的编码格式。WebAssembly并不是手写的一行行代码,它是一个编译目标。随着时间推移,越来越多的语言可以被编译为WebAssembly,WebAssembly可将C、C++、Java等原生语言直接编译为机器码,省略了转换器。WebAssembly运行速度快,同时它的二进制表示法也大大减小了代码包的大小,继而提升了浏览器的加载速度。
WebAssembly和JavaScript
提到WebAssembly大家很自然的会想到JavaScript,WebAssembly并不是JavaScript的替代,二者可以协同工作,通过使用WebAssembly的JavaScript API,把WebAssembly模块加载到一个JavaScript应用中并且在两者之间共享功能。
WebAssembly优势
快速高效:WebAssembly被设计为针对Size和Load Time进行优化的格式,可以在各个硬件平台上以native speed运行;
安全性:WebAssembly是运行在沙盒内的,甚至可以和当前的Java虚拟机共享一套环境,并且也遵守浏览器各种跨域不跨域的规章制度;
开放性:WebAssembly开放标准,不受任何一家厂商控制,并且被设计为可以和Java API和Context交互。
WebAssembly开发工具
AssemblyScript:支持直接将TypeScript编译成WebAssembly;
Emscripten:WebAssembly的灵魂工具,可以将其他的高级语言编译成WebAssembly;
WABT:将WebAssembly在字节码和文本格式相互转换的一个工具。