2023 年 WebAssembly 现状:第四种 Web 语言( 二 )


对于问题“未来想使用哪些语言来开发利用WebAssembly的应用” , 统计结果如下:

2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
Rust 再次名列前茅,反映了年度 Stack Overflow 调查的结果,其次是JavaScript 。然而,使用频率较低的 Zig 是第三个最受欢迎的语言 。
通过绘制每种语言的差异,即“经常使用”的回答数量和“希望大量使用”的回答数量之间的差距,可以看出在受欢迎程度与使用率之间有着最大差异的语言:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
可以看到,Zig、Kotlin 和 C# 的受欢迎程度超过了当前的使用率 , C++、JavaScript 和 WAT 的当前的使用率超过了受欢迎程度 。
运行时考虑到WebAssembly在非浏览器环境下的使用正在增加,探索正在使用哪些运行时或者仅仅是听说过哪些运行时很有意思 。这次调查只问了一个问题:“你听说过或使用过哪些运行时?结果如下:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
wasmtime,来自于字节码联盟(Bytecode Alliance) , 是最广泛使用的运行时,而由一家初创公司开发的 wasmer 排名第二 。Wazero 是一个新成员,它是一个基于 Go 语言构建的最近发布的运行时 。
实际应用使用 WebAssembly 的目的如下:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
Web 应用开发仍然处于领先地位,但差距正在缩小 。下图显示了同比趋势:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
Serverless 正在持续增长,但可能最引人注目的转变是WebAssembly作为插件环境的使用 。以下是一些实际应用的例子:
  • Zellij是一个面向开发者的终端工作空间,它采用了WebAssembly插件模型 。
  • Microsoft Flight Simulator 允许将附加组件编写为 wasm 模块 。
  • Envoy 和 Istio 有一个 Wasm Plugin API 。
  • Lapce , 一个用 Rust 编写的新 IDE,有一个基于 WASI 的插件系统 。
在每种情况下,平台(终端、编辑器、代理)都从允许最终用户使用多种编程语言扩展功能的能力中受益 , 并且这些功能在一个安全而隔离的环境中运行 。换句话说,如果有人编写了一个行为不端或性能较差的插件,对平台本身的影响将被最小化 。
受访者所在组织采用 WebAssembly 的状况如下:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
从上图中可以看到,41% 的受访者正在生产中使用 WebAssembly , 还有 28% 的受访者正在试点或计划在明年使用它 。
该调查还探讨了 WebAssembly 需要什么来帮助推动进一步采用:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
被最频繁提及的需求是通过 WASI(WebAssembly系统接口)来改善非浏览器集成 。WebAssembly 规范并未定义任何主机集成点,无论是如何访问 DOM 还是与主机运行时交换数据(例如在浏览器中将值传递给 JavaScript) 。WASI正填补这一空白,但目前还没有完整的解决方案 。
更好的调试支持紧随其后,随着人们使用 WebAssembly 开发越来越复杂的解决方案,这一点将变得更加重要 。
特性WebAssembly(由W3C管理)和WASI(由W3C WebAssembly社区组的子机构管理)都在不断发展,有一系列新功能遵循标准的5阶段提案过程 。
关于 WebAssembly 提案 , 以下是最需要的:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
线程、垃圾收集和异常处理在去年的结果中均名列前茅,并且这三者都处于提案生命周期的实施(第 3 阶段)或标准化(第 4 阶段) 。这意味着它们已准备好使用 , 并且接近完成 。
组件模型是一个处于早期阶段的提案(第 1 阶段),其目标是使在运行时以任何语言编写的 wasm 模块变得更加容易 。
关于 WASI 提案,以下是最需要的:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
四个最重要的提案都与 I/O 相关,可见,创建 WebAssembly 模块与外界通信的标准方式是当务之急 。
受访者对 WebAssembly 和 WASI 的发展的满意度如下:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图


推荐阅读