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已支持所有主流浏览器相关推荐

  1. js下拉列表添加监听事件(支持所有主流浏览器)

    1.需求效果预览 2.核心代码 <div class="select"><span>请选择学科:</span><select id = & ...

  2. linux startx 鼠标指针,支持各主流浏览器使用的鼠标拖动和拖拽的鼠标指针特效...

    脚本代码(For Alixixi.com)如下: 无标题文档 #box{width:100px;height:100px;background:#966;position:absolute;left: ...

  3. 谷歌地球网页版_谷歌地球终于支持非Chromium浏览器:Safari除外

    IT之家2月27日消息 据TheVerge消息,谷歌今天向Firefox火狐.(旧内核)Edge.Opera欧朋等浏览器开放了基于Web的Google Earth版本,但Safari浏览器并不在列. ...

  4. 支持html5特性的浏览器,五大主流浏览器对CSS3和HTML5特性支持情况的详细清单

    [IT168评估]主要主流浏览器对CSS3和HTML5的支持变得越来越完整,曾经打动了许多前端开发人员的IE系列也开始接受该标准.就在几天前,W3C HTML5社区负责人Shelley宣布HTML5的 ...

  5. 所有主流浏览器都支持HTML的视频格式5,所有主流浏览器都支持HTML 5吗?

    9 个答案: 答案 0 :(得分:8) 不同浏览器支持HTML5的各个部分,用于"支持"的各种定义. 现在有几个部分可靠地工作.您在问题中询问的data- *属性在每个浏览器中都能 ...

  6. 四种利用js导出Excel的方法(兼容IE6+、主流浏览器、支持复杂表头和合并单元格)

    因为项目需求变更,最后决定使用做JS导出Excel,网上看了很多的帖子和例子,很多的例子并不能满足需求( 处理复杂表头,兼容主流浏览器,兼容IE等等).所以,自己找了几个比较不错的例子,在其基础上结合 ...

  7. 主流杀毒软件多已支持windows7

    主流杀毒软件多已支持windows7 微软的新一代操作系统windows7已然呼之欲出.前一阶段的开放测试,相信已经让你尝到新了.很有可能你已经注意到了,如果使用windows7的话,意味着缺少适合的 ...

  8. 主流浏览器对HTML5的支持情况

    1,主流浏览器对html5的支持情况 (1)Chrome,Firefox:支持html5很多年,而且有自动升级,支持最好. (2)Safari,Opera:同样支持html5很多年,支持也很好. (3 ...

  9. ASP网页FLASH图片播放只能在老版Internet Explorer 正常显示,最新主流浏览器都不支持,哪位大伽有好的代码改动妙招烦请赐教,谢谢

    原来ASP网站源码如下: <table width="100%" border="0" align="center" cellpadd ...

最新文章

  1. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例
  2. 使用dom4j解析XML例子
  3. sql server两种分页方法
  4. 【数字信号处理】基本序列 ( 单位阶跃序列 | 单位阶跃序列与单位脉冲序列关系 | 矩形序列 | 矩形序列与单位阶跃序列关系 | 矩形序列作用 )
  5. stringbuilder寻找字符串位置可能存在多个 java_Java 语言基础amp;String
  6. Python工作笔记-统计文件夹内只有1个文件的文件夹
  7. android cpu 压力测试,两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe
  8. 从零开始学习编程_如何开始学习编程
  9. python 工作路径
  10. 2021年中国独臂强盗市场趋势报告、技术动态创新及2027年市场预测
  11. vs2010上opencv配置
  12. 镜像配置见证机失败解决方案
  13. Matplotlib笔记(1)——文字、绘图、背景(颜色对照表)
  14. 微信小程序开发之十 —— 点击事件
  15. 原生JS实现视频播放功能
  16. Java中submit的方法,线程池中 submit()和 execute()方法区别
  17. 百度 LBS 开放平台,开发者众测计划正式启动
  18. [顶][转]东北菜大集
  19. ios开发之MPNowPlayingInfoCenter 锁屏显示正在播放的音乐
  20. 大数据面试杀招 | Flink,大数据时代的“王者”

热门文章

  1. git使用的一些常用命令
  2. Windows XP 专业版与家庭版的区别
  3. 如何在Linux下安装PyCharm
  4. Linux bridge-utils tunctl 使用
  5. BZOJ 4706: B君的多边形 找规律
  6. HDU2011 多项式求和
  7. Java学习笔记50:JSONObject与JSONArray的使用
  8. JavaScript消息框应用
  9. 【黑金视频连载】FPGA NIOSII视频教程(11)--系统时钟实验
  10. 牛客 - Pass Through With One Breath(中位数)