WebAssembly
WebAssembly 介绍
WebAssembly不是用来取代JavaScript的。它被设计为和JavaScript一起协同工作,从而使得网络开发者能够利用两种语言的优势
WebAssembly设计的目的不是为了手写汇编级别代码,而是为诸如C、C++等低级源语言提供一个高效的编译目标,使得以各种语言编写的代码都可以以接近原生的速度在web中运行。这一点具有重大的意义,这意味着所有由传统语言编写的客户端app都可以在web上高效运行,也就是说在未来客户端全面web化,未来可能不再需要客户端app
同时,WebAssembly也是一个W3C标准,制定过程中得到了各大浏览器厂商积极参与。各大厂商都参与到标准制定里并不常见,像js引擎,css标准,每个浏览器实际都有一套自己的标准。而获得各个厂商支持的WebAssembly在我看来,是未来的标准风向,会被广泛采用。
WebAssembly的优势
体积小:由于浏览器运行时只加载编译成的字节码,一样的逻辑比用字符串描述的 js 文件体积要小很多;
加载快:由于文件体积小,再加上无需解释执行,WebAssembly 能更快的加载并实例化,减少运行前的等待时间;
兼容性问题少:WebAssembly 是非常底层的字节码规范,制订好后很少变动,就算以后发生变化,也只需在从高级语言编译成字节码过程中做兼容。可能出现兼容性问题的地方在于 js 和 WebAssembly 桥接的 js 接口。
网站地址:http://webassembly.github.io/
GitHub:https://github.com/WebAssembly/design
网站描述:一种小体积,高加载速度的二进制编码格式