WebAssembly已支持所有主流浏览器

简介: Firefox Quantum、Safari、Edge和Chrome一并支持WebAssembly,可以接近原生速度运行Web应用程序。

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张,先到先得。

640?wx_fmt=jpeg

相关文章
|
4月前
|
Rust JavaScript 前端开发
WebAssembly 技术:解锁浏览器的无限潜能
随着互联网的快速发展,Web 应用程序的功能需求也越来越复杂。传统的 JavaScript 语言在处理大规模数据和高性能计算方面存在一些局限性。然而,WebAssembly 技术的出现改变了这一切。本文将介绍什么是 WebAssembly,它的应用领域以及如何使用它来提升 Web 应用程序的性能和体验。
|
4月前
|
Web App开发 前端开发 JavaScript
CSS容器查询获得主流浏览器支持,是什么?怎么用?
CSS容器查询获得主流浏览器支持,是什么?怎么用?
|
8月前
|
JavaScript 前端开发 测试技术
关于 Angular 开发时对主流浏览器支持的话题
关于 Angular 开发时对主流浏览器支持的话题
53 0
|
9月前
|
Rust JavaScript 前端开发
WebAssembly:将高性能应用带入浏览器
WebAssembly(缩写为 Wasm)技术它为 Web 开发者提供了一种将高性能应用带入浏览器的途径。本文将深入探讨 WebAssembly 的概念、优势以及对 Web 开发的影响。
86 0
|
11月前
|
Rust JavaScript 前端开发
WebAssembly入门:构建高性能的浏览器应用
WebAssembly(简称为Wasm)是一种面向Web的二进制格式,旨在提供高性能的浏览器应用程序。它允许开发者使用多种编程语言来构建功能强大、快速运行的Web应用。本文将带你入门WebAssembly,并展示如何使用它构建高性能的浏览器应用。
11104 0
|
自然语言处理 JavaScript 前端开发
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
127 0
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
|
JavaScript 前端开发 开发者
介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
313 0
介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
|
Web App开发 算法 安全
部署国密SSL证书,如何兼容国际主流浏览器?
实现基于国密算法的HTTPS加密认证,最大的应用难点在于,国密算法应用生态的建设以及对主流应用生态的兼容。
6095 0
|
Web App开发 JavaScript 前端开发
让C代码在浏览器中运行——WebAssembly入门介绍
WebAssembly作为一种新兴的Web技术,相关的资料和社区还不够丰富,但其为web开发提供了一种崭新的思路和工作方式,未来是很有可能大放光彩的。 使用WebAssembly,我们可以在浏览器中运行一些高性能、低级别的编程语言,可用它将大型的C和C++代码库比如游戏、物理引擎甚至是桌面应用程序导入Web平台。
2092 0
|
Web App开发 JavaScript 前端开发
浏览器中可以运行Window2000,WebAssembly 是 JavaScript 的末日?
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/82010829 厉害了,Windows 2000 被编译成 WebAssembly,可以在浏览器里跑了。
1108 0

热门文章

最新文章

相关实验场景

更多