浅谈 WebAssembly 对 Web 发展的影响

如果你还没听过 WebAssembly ,那么我建议你去读一下 WebAssembly 简介。

WebAssembly 是由Google, Microsoft, Mozilla,Apple等几家大公司合作发起的一个关于面向Web的通用二进制和文本格式的项目。

我个人预测 WebAssembly 至少在某种程度上,它将改变Web生态。

各浏览器 WebAssembly 的运行速度对比

上图是 WebAssembly 在各主流浏览器的运行速度对比。可以看出 WebAssembly 的运行速度和 JavaScript 相差不大。

从今的 JavaScript 是 Web 世界的汇编语言,然而我相信它在不久的将来会和 WebAssembly 并存。这并不意味着WebAssmbly是为了取代 JavaScript而生。

过去几年,我们看到越来越多的项目问世,它们试图通过开发编译程序,将其他语言代码转化为 JavaScript,以此让开发者克服 JavaScript自身存在的一些短板。其中一些项目专注于给编程语言增加新的功能,比如微软的 TypeScript和Google的Dart,或是加快 JavaScript的执行速度,例如 Mozilla 的 asm.js 项目和Google的PNaCI。

WebAssembly 是一种新的字节码格式。它的缩写是".wasm",.wasm 为文件名后缀,是一种新的底层安全的二进制语法。它被定义为“精简、加载时间短的格式和执行模型”,并且被设计为 Web 多编程语言目标文件格式。 这意味着浏览器端的性能会得到极大提升,它也使得我们能够实现一个底层构建模块的集合,例如,强类型和块级作用域。

最好不要把WebAssembly仅仅当做一门编程语言,实际上它更像是一个编译器。

最近我看到了阮一峰在写《asm.js 和 Emscripten 入门教程》。个人认为 webassembly 相较于 asm.js 的优势主要是涉及到性能方面。根据 WebAssembly FAQ 的描述:在移动设备上,对于很大的代码库,asm.js 仅仅解析就需要花费20-40秒,而实验显示 WebAssembly 的加载速度 比 asm.js 快了20倍,这主要是因为相比解析 asm.js 代码,JavaScript 引擎破译二进制格式的速度要快得多。

WebAssembly对于JS来说绝对是一个巨大的改进。WebAssembly 对于浏览器来说也有着非同一般的意义。 支持WebAssembly的浏览器可以识别二进制格式的文本,它有能力编译比JS文本小得多的二进制包。 这将给web应用带来类似与本地应用的性能体验!

包括 Google,Microsoft,Mozilla 只是这一长串名单中的少数几家公司。项目带头人们发起了WebAssembly Community Group这一社区,这个团队的愿景是“在一种新的,轻量的 web 编码格式的基础上,促进浏览器厂商们的合作.” 不过,WebAssembly 项目还只是刚刚启动,虽然它有一个美妙的开头,但在 WebAssembly 成为一个大众认可的 web 标准之前,它还有很长的路要走。

浅谈 WebAssembly 对 Web 发展的影响

: » 浅谈 WebAssembly 对 Web 发展的影响

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/251280.html

(0)
上一篇 2022年5月2日
下一篇 2022年5月2日

相关推荐

发表回复

登录后才能评论