Firefox Quantum、Safari、Edge和Chrome一并支持WebAssembly,可以接近原生速度运行Web应用程序。点击【阅读原文】获取原文地址。
作者:Judy DeMocker
译者:王鸿蒙
审校:包研
虽然Mozilla已经准备推出旗下最快的浏览器Firefox Quantum,但WebAssembly还是有一些值得注意的改进——它支持JavaScript与二进制文件(“wasm”格式)协同工作,以接近原生速度运行Web应用程序。
在过去的几周里,苹果和微软分别推出了Safari和Edge的新版本,都包括对WebAssembly的支持。鉴于Mozilla Firefox和Google Chrome此前均已支持WebAssembly,这使得四种主流浏览器都可以在web上运行编译为wasm格式的代码。
“谷歌,苹果和微软都在他们的浏览器中支持WebAssembly。今天在市场上能获得这样的支持是一个非常令人兴奋的进展,“Mozilla工程师Luke Wagner说,他创建了WebAssembly的前身asm.js,并带头开发WebAssembly规范。
对于开发者来说,广泛的客户端支持意味着他们可以用WebAssembly开展试验,因为大多数终端用户都默认能够运行超快速的wasm模块。无处不在的客户支持推动了asm.js的早期成功。由于asm.js是JavaScript的纯子集,它无需修改就可以在任何浏览器中运行。你可以在Facebook上找到asm.js(http://asmjs.org/)的身影,Candy Crush Saga,Top Eleven和Cloud Raiders等流行的游戏都有它的支持。
不断提高的标准
WebAssembly有什么大不了的?首先,它正在成为一个行业标准。它是一种经过验证的,可以在网络上运行大型复杂应用程序的方法。它为网络开发人员提供了许多前所未有的选择。例如,你可以:
WebAssembly使用现状
WebAssembly引起了广大技术人员的兴趣,因为它为Web平台提供了可预测的性能表现 —— 这是只使用JavaScript难以达到的。游戏公司是WebAssembly和asm.js的早期使用者。Epic和Unity率先把他们产品级的游戏引擎发布在网络上,而不用重写JavaScript中的C ++代码库。
今天,WebAssembly和asm.js 的案例已经不在局限于在线游戏。当人们尝试使用WebAssembly格式及其搭档(Emscripten编译器)时,他们正在设法将越来越复杂的应用程序移植到Web上去。例如:
“Asm.js和WebAssembly对于游戏行业来说重要性显而易见,因为他们投入了大量的成本写C ++程序,肯定不想为了web而重写”,Wagner说, “现在我们看到很多人使用WebAssembly做新项目。因为这基于这样一个承诺,我们可以将大部分应用程序在网络上运行,就像在本地运行一样。”
想要了解更多关于WebAssembly的信息?开发人员可以在MDN Web Docs和WebAssembly.org项目站点上找到资源。
交互式工具
您还可以尝试一下WebAssembly Explorer,这是一个在线工具,它允许您使用C / C ++编译器来了解WebAssembly代码是如何生成,交付并最终被浏览器使用的。另一个在线工具WebAssembly Fiddle允许您在浏览器中编写、共享和运行WebAssembly代码片段。为了进一步深入了解,您可以检查WebAssembly二进制文件,以了解WebAssembly代码如何在二进制级别进行编码。
本文分享自 LiveVideoStack 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!