互联网大提速的悬念:一路向前的WebAssembly

管理员账号

2018-11-21

前端的可玩性变得越来越高,也越来越开放了。现如今,我们不仅仅能够使用HTML、CSS及Javascript来编写各种跨端的应用程序,WebAssembly的出现还让我们能够以极小的成本来复用其他领域已存在的成果,以此来弥补JavaScript在其性能与功能上的不足。本文选自新书《深入浅出WebAssembly》,作者于航。

WCG(WebAssembly Community Group)提名主席JF在WebAssembly的官方Github仓库中发布一则消息,称将会于2015年6月17日将Wasm技术当前阶段的发展计划公之于众。

JF在Github上讨论Wasm标准的公开计划

WCG的核心成员主要由一群来自苹果、谷歌、微软及Mozilla等互联网巨头公司的顶尖工程师组成,这些工程师会定期对Wasm技术的标准进行调研和讨论。所有与Wasm技术相关的标准草案,以及未来的发展路线都由他们共同制定。

之后Wasm便开始进入飞速发展阶段。多家主流浏览器厂商在其浏览器中实现一些实验性的Wasm技术标准。同时,WCG官方也已在Wasm的标准制定上取得了多项进展。四家主流浏览器厂商已经在其各自的浏览器中实现了Wasm技术标准的原型版本。WCG官方提供的一个基于Unity3D实现的用于测试的Demo版游戏已经可以被成功地编译到对应的Wasm版本,并顺利地在这些流浏览器上运行。至此,四大主流浏览器厂商开始在Wasm技术标准的跟进上保持同步,这也是Wasm技术发展中的一个里程碑时刻。

接着,Wasm开始漫长的“Browser Preview”阶段,以实验性功能的形式在各大浏览器中提供给开发者使用。WCG官方宣布此时已在多个不同类型的Web浏览器中实现了一套统一的Wasm模块文件标准。2017年2月,Wasm的官方LOGO确定下来。

参与投票的LOGO作品


最终确定的LOGO设计方案

2017年2月28日,四大浏览器厂商在Wasm技术的MVP标准实现上达成共识。这意味着Wasm在其最小可用版本(MVP)上的“Brower Preview”阶段已经结束。浏览器可以正式以默认启用的方式来支持Wasm技术,开发者不再需要通过手动打开浏览器实验性功能或下载技术预览版本的方式来开启浏览器对Wasm特性的支持。2017年8月3日,WebAssembly Working Group(WWG)成立。从WCG到WWG的转变标志着——Wasm技术将同HTTP等常用的Web技术一样,成为W3C标准技术体系的一部分。

WWG的主要任务是负责推动Wasm技术的标准迭代,以及约束在各种不同类型浏览器上实现的Wasm标准能够保持对用户统一的响应行为。整个Wasm技术的发展过程会被分为三个阶段,在每个阶段中都对应有一次标准草案的变更和重新发布。每一次标准草案的变更都是根据之前6个月内WWG和WCG小组对当前标准的讨论结果最终制定的,草案变更会使Wasm技术在平台兼容性、底层运行效率,以及各种技术细节的优化上都得到提升。

Wasm技术的发展规划时间表

WCG会通过多种方式定期举行关于Wasm标准相关议题的讨论会。比如每月举行一到两次的短时在线视频讨论会,以及每年在各大互联网巨头总部举行长达数日的线下研讨会议。你可以通过关注WebAssembly官方Github仓库或加入WCG并订阅邮件列表的方式来获取这些会议的安排时间表。WWG会以完全开放的态度来接收和采纳开发者对Wasm标准提出的建议和意见,因此你可以通过参加这些定期举行的线上/线下研讨会来与Wasm核心团队的成员进行面对面的交流。

WebAssembly是一种新的二进制格式,它可以方便地将C/C++等静态语言的代码快速地“运行”在浏览器中,这一特性为前端密集计算场景提供了无限可能。不仅如此,通过WebAssembly技术,我们还可以将基于Unity等游戏引擎开发的大型游戏快速地移植到Web端。WebAssembly技术现在已经被计划设计成W3C的标准,众多浏览器厂商已经提供了对其MVP版本标准的支持。在Google I/O 2017大会上,Google首次针对WebAssembly技术进行了公开演讲和推广,其Post-MVP版本标准更是对诸如DOM操作、多线程和GC等特性提供了支持。WebAssembly所带来的Web技术变革势不可挡。

本文节选自博文视点新书《深入浅出WebAssembly》
带你一步跨越计算机系统底层机制及C++、编译原理鸿沟,快速拥抱WebAssembly。
本书从原理入手,深入到渲染引擎、编译器,通过实例详细介绍各项特性及WebAssembly开发调试,对于想进一步了解语言和浏览器引擎原理的开发者来说,是一本非常好的进阶学习书籍。

读者评论

相关专题

相关博文