码迷,mamicode.com
首页 > 编程语言 > 详细

浏览器中原生运行的第四种语言诞生:WebAssembly 1.0 成为 W3C 的推荐标准

时间:2020-12-23 12:01:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:instr   作者   follow   news   核心   联合   中国   系统   开发   

浏览器中原生运行的第四种语言诞生:WebAssembly 1.0 成为 W3C 的推荐标准

技术图片

作者 | Bruno Couriol
译者 | 张卫滨
万维网联盟(World Wide Web Consortium,W3C) 最近宣布,WebAssembly 核心规范 成为了正式的 Web 标准。因此,继 HTML、CSS 和 JavaScript 之后,WebAssembly 正式成为第四个在浏览器中可原生运行的语言。
WebAssembly 核心规范将 WebAssembly 描述为安全的、可移植的、低层次的代码格式,旨在高效执行和紧凑化的表述。WebAssembly 追求硬件独立、语言独立和平台独立。因此,WebAssembly 可以面向所有的现代架构,包括桌面或移动设备,以及嵌入式系统。WebAssembly 程序可以嵌入到浏览器中,可以作为独立的 VM 运行,也可以集成到其他的环境中。
为了拥抱各种使用场景,WebAssembly 规范进行了分割和分层,拆分成了多个文档。核心规范涉及 WebAssembly JS 接口 和 WebAssembly Web API,前者提供了显式 JavaScript API,用来和 WebAssembly 进行交互,而后者主要关注将 WebAssembly 与更广泛的 Web 平台集成。
WebAssembly 的核心是一个虚拟 指令集架构(instruction set architecture,ISA)。因此,核心规范解决了 WebAssembly 的核心 ISA 层的问题,定义了指令集、二进制编码、校验和执行语义,以及文本表述。
W3C 的项目负责人 Philippe Le Hégaret 这样阐述 WebAssembly 的潜力:
之前的应用只能使用开放 Web 平台(Open Web Platform)技术,WebAssembly 的到来扩展了它们所能达到的范围。在当今的世界中,机器学习和人工智能变得越来越常见,在不损害用户安全性的同时,在 Web 上实现高性能的应用是非常重要的。
我们可以看到,WebAssembly 已经初步用到了一些工具软件(比如 Google Earth port)、游戏(比如 Doom3)、重量级的桌面应用程序(game editors)或设计工具(Figma)中。
Agora 的高级架构师 Chun Gao 分享了他对这项技术的热情:
WebAssembly 使得在 Web 上提供强大的计算能力成为可能。它将极大地扩展 Web 应用程序的应用场景,并迅速增加开发计算密集型应用的机会,包括实施音频 / 视频处理、硬核游戏以及基于 Web 技术的 AI。作为 RTC 服务的提供商,Agora 致力于交付实时性能更好的服务。我们发布了基于 WebAssembly 的产品,提升了视频流处理的性能和兼容性。我们相信,对于实现高性能 Web 应用程序的 Web 开发人员来说,WebAssembly 将是最重要的可选方案。
随着 1.0 规范的发布,WebAssembly 未来版本的工作也已经开始着手了,包括了 线程、固定宽度 SIMD、引用类型、尾调用 和 ECMAScript 模块集成 等 特性。
万维网联盟(Wide Web Consortium,W3C)的使命是通过创建技术标准和指南来充分发挥 Web 的潜力,以确保 Web 对全球所有人都保持开放性、可访问性和可互操作性。W3C 由 美国麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)、总部位于 法国的欧洲信息与数学研究联盟(ERCIM)、日本 庆应大学 和中国的 北京航空航天大学 联合运营。
原文链接:
https://www.infoq.com/news/2019/12/webassembly-w3c-recommendation

浏览器中原生运行的第四种语言诞生:WebAssembly 1.0 成为 W3C 的推荐标准

标签:instr   作者   follow   news   核心   联合   中国   系统   开发   

原文地址:https://blog.51cto.com/15057848/2566387

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!