WebAssembly 1.0被纳入W3C推荐标准,也是在浏览器中运行的第四种语言

点击上方“IT平头哥联盟”,选择“置顶或者星标”

你的关注意义重大!

前言

对于WebAssembly和整个Web来说,这是一个非常重要的正式步骤,尽管它可能最终导致JavaScript变得不那么重要,因为像Rust、Go和c#这样的语言开始通过编译为WebAssembly直接针对浏览器。

万维网联盟(W3C)最近宣布,WebAssembly核心规范现在是正式的Web标准。继HTML、CSS和JavaScript之后,WebAssembly正式成为第四个在浏览器中本地运行的语言。

WebAssembly核心规范将WebAssembly描述为一种安全、可移植、低层次的代码格式,旨在高效执行和紧凑表示。WebAssembly追求硬件独立、语言独立和平台独立。因此,WebAssembly可以针对所有现代架构、桌面或移动设备以及嵌入式系统。WebAssembly程序可以嵌入到浏览器中,可以作为独立的VM运行,也可以集成到其他环境中。

为了包含各种用例,WebAssembly规范被分割并分层为几个文档。核心规范涉及WebAssembly JS接口,它提供了与WebAssembly交互的显式JavaScript API,以及WebAssembly Web API,它侧重于WebAssembly与更广泛的Web平台的集成。

WebAssembly的核心是虚拟指令集体系结构(ISA)。因此,核心规范处理了WebAssembly的核心ISA层,定义了指令集、二进制编码、验证和执行语义,以及文本表示。

W3C项目负责人Philippe Le Hegaret解释了WebAssembly的潜力:

WebAssembly的到来扩展了仅通过使用开放Web平台技术就可以实现的应用程序的范围。在一个机器学习和人工智能变得越来越普遍的世界里,在不损害用户安全的前提下,在Web上启用高性能应用程序是很重要的。

WebAssembly在野外的使用可以在一些实用软件中观察到,如谷歌Earth port、图标游戏(如Doom3)、沉重的桌面应用程序(如游戏编辑器)或设计工具(如Figma)。

Agora的高级建筑师高春分享了他对这项技术的热情:

WebAssembly使得在Web上提供强大的计算能力成为可能。它将极大地扩展Web应用程序的应用场景,并迅速增加开发计算密集型应用程序的机会,包括实时视频/音频处理、硬核游戏和基于Web技术的AI。作为RTC服务提供商,Agora致力于提供实时性能更好的服务。我们发布了基于WebAssembly的产品,提高了视频流处理的性能和兼容性。我们相信WebAssembly将是Web开发人员实现高性能Web应用程序的最重要的选择。

随着1.0规范的发布,WebAssembly的未来版本已经准备就绪,包括线程、固定宽度SIMD、引用类型、尾调用或ECMAScript模块集成等功能。

万维网联盟(W3C)的使命是通过创建技术标准和指导方针来充分发挥万维网的潜力,以确保万维网对全球所有人都保持开放、可访问和可互操作。W3C由美国麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)、总部位于法国的欧洲信息与数学研究联盟(ERCIM)、日本庆应义塾大学和中国的北航大学联合主办。

W3C中国

2019年12月5日,W3C WebAssembly 工作组发布 WebAssembly 正式推荐标准(W3C Recommendation),为 Web 带来一种支持代码在浏览器中运行的新语言。

WebAssembly Core Specification 定义了一个底层虚拟机,模拟运行该虚拟机的许多微处理器的功能。通过即时编译或解析,WebAssembly 引擎可以接近原生平台的速度执行代码编译。.wasm 资源类似于 Java .class 文件,它包含静态数据和对该静态数据进行操作的代码段。与 Java 不同,WebAssembly 通常是由其他编程语言(如C/C++ 和 Rust)作为编译目标而生成的。

WebAssembly Web API 定义了一个基于 Promise 的接口,用于请求和执行 .wasm 资源。.wasm 资源的结构经过优化,允许在检索整个资源之前开始执行,这进一步增强了 WebAssembly 应用程序的响应能力。

WebAssembly JavaScript Interface 提供了一个 JavaScript 接口,用于调用并将参数传递给 WebAssembly 函数。在 Web 浏览器中,WebAssembly 与主机环境的交互都通过 JavaScript 进行管理,这意味着 WebAssembly 依托 JavaScript 高度精心设计的安全模型。

WebAssembly 是为高效执行和紧凑表示而设计的运行在现代处理器(包括浏览器)中的一种快速、安全、可移植的底层代码格式。该技术使 Web 平台能够更有效地执行计算精确型算法,这使全新的用户体验类别变得切实可行。由于 WebAssenbly 是与平台无关的执行环境,因此它也可以用于任何其他计算机平台。

关于本文 作者:@Bruno Couriol 原文:https://www.infoq.com/news/2019/12/webassembly-w3c-recommendation/

http://www.chinaw3c.org/archives/2429/

-  end  -

❤️ 看完两件事

如果你觉得这篇内容对你有所帮助,我想邀请你帮我两个小忙:

  1. 点个「在看」,让更多的人也能看到这篇内容(喜欢不点在看,都是耍流氓 -_-)

  2. 关注公众号「IT平头哥联盟」,一起进步,一起成长!

推荐阅读

Google Chrome 正在走 Windows 的老路

原来程序员也是会 “中奸商“ 赚差价的~

JavaScript 中的“黑话”,你知多少?

如何将Web主页性能提升十倍以上?

用不了多久 Web Component,就能取代你的前端框架吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值