标签归档:WebAssembly

谷歌力推WebAssembly,要干掉JS?

虽然WebAssembly还比较新,但它已经被证明是快速响应Web应用程序和站点的有效方法。起初,WebAssembly被描述为“在网络上运行C ++的一种方式”,尽管我对C ++和Web都很热爱,但技术上总是模糊不清。直到2016年,我在Chrome开发工具峰会上再次听到这个消息,我决定尝试一下。

WebAssembly的工作原理

编译和优化阶段,WebAssembly 更具优势,因为 WebAssembly 的代码更接近机器码,而 JavaScript 要先通过服务器端进行代码优化。这就是为什么在大多数情况下,同一个任务 WebAssembly 比 JavaScript 表现更好的原因。

WebAssembly是个什么鬼?

WebAssembly 是除了 JavaScript 以外,另一种可以在浏览器中执行的编程语言。所以当人们说 WebAssembly 更快的时候,一般来讲是与 JavaScript 相比而言的。这里并不是暗示大家说开发时只能选择 WebAssembly或 JavaScript。实际上,我们更希望在同一个工程中,两个你同时使用。对二者的比较倒是非常有必要的,这样你就可以了解到 WebAssembly 所拥有的独特特性。

为什么浏览器里的WebAssembly能达到本地应用的速度?

当然,“快”是相对的概念。相比于 JavaScript 和其他动态语言,WebAssembly 的快主要是因为它的静态类型特性和方便优化特性。WebAssembly 意在速度上能够达到和本地执行一样快,其实 asm.js 已经比较接近这一目标了,但是 WebAssembly 要进一步缩短和本地执行速度之间的差距。因此本文着重介绍为什么 WebAssembly 比 asm.js 更快。