WebAssembly已支持所有主流浏览器

时间:2024-05-21 19:34:42

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有什么大不了的?首先,它正在成为一个行业标准。它是一种经过验证的,可以在网络上运行大型复杂应用程序的方法。它为网络开发人员提供了许多前所未有的选择。例如,你可以:


  • 通过网络可以快速传输紧凑的wasm格式文件,并将其作为JavaScript模块进行加载

  • 在不使用插件的情况下获得接近本机的性能

  • 因为它在浏览器的安全沙箱中执行,使编写既高性能又安全的代码有了可能

  • 可以选择使用JavaScript之外的其他语言,如将WebAssembly作为C和C ++的编译器目标,还可提供额外的语言支持。


WebAssembly使用现状


WebAssembly引起了广大技术人员的兴趣,因为它为Web平台提供了可预测的性能表现 —— 这是只使用JavaScript难以达到的。游戏公司是WebAssembly和asm.js的早期使用者。Epic和Unity率先把他们产品级的游戏引擎发布在网络上,而不用重写JavaScript中的C ++代码库。


今天,WebAssembly和asm.js 的案例已经不在局限于在线游戏。当人们尝试使用WebAssembly格式及其搭档(Emscripten编译器)时,他们正在设法将越来越复杂的应用程序移植到Web上去。例如:


  • 计算机视觉

  • 3D地图 - Altus平台,Google地球

  • 用户界面设计

  • 语言检测

  • 音频混合

  • 视频编解码器支持

  • 数字信号处理

  • 医学影像

  • 物理模拟

  • 加密

  • 压缩 - zlib-asm,Brotli,lzma

  • 计算机代数


“Asm.js和WebAssembly对于游戏行业来说重要性显而易见,因为他们投入了大量的成本写C ++程序,肯定不想为了web而重写”,Wagner说, “现在我们看到很多人使用WebAssembly做新项目。因为这基于这样一个承诺,我们可以将大部分应用程序在网络上运行,就像在本地运行一样。”


想要了解更多关于WebAssembly的信息?开发人员可以在MDN Web Docs和WebAssembly.org项目站点上找到资源。


交互式工具


您还可以尝试一下WebAssembly Explorer,这是一个在线工具,它允许您使用C / C ++编译器来了解WebAssembly代码是如何生成,交付并最终被浏览器使用的。另一个在线工具WebAssembly Fiddle允许您在浏览器中编写、共享和运行WebAssembly代码片段。为了进一步深入了解,您可以检查WebAssembly二进制文件,以了解WebAssembly代码如何在二进制级别进行编码。


广告时间


12月2日,『后直播时代技术』沙龙将走进成都,LiveVideoStack携手腾讯、阿里云、声网、即构科技、又拍云等知名企业一同直击游戏行业,探索其在多媒体与音视频技术的应用实践。


  • 左小祥 腾讯音视频实验室TMG游戏引擎技术负责人

      《TMG——实时音视频助力游戏社交创新玩法》

  • 杨剑 声网Agora.io战略合作总监,游戏行业负责人

      《手游实时音视频新体验》

  • 曾令森 又拍云高级产品经理

      《短视频为什么又火起来了》

  • 吴彪 即构科技高级研发工程师

      《化繁为简,如何从0到1快速上线在线娃娃机》

  • 蔡鼎 阿里云流媒体处理技术专家

      《云导播的技术实现和玩法》


在公众号回复【成都】获取该站5折优惠码,限量5张,先到先得。

WebAssembly已支持所有主流浏览器