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


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

文章插图
2023 年度 WebAssembly 现状调查结果出炉,下面就来看看 2023 年的 WebAssembly 发展的怎么样了!
WebAssembly 是一种可移植、低级别的字节码语言,旨在提供一种通用的编译目标 , 以允许在 Web 上执行高性能计算密集型应用程序 。它是一种新型的虚拟机技术,可以在所有主要的 Web 浏览器中运行,并且还可以在其他环境中使用 。
 
WebAssembly 通过在 Web 浏览器中嵌入本地代码模块,能够直接访问底层系统硬件,实现了快速加载和执行的特性,因此被广泛认为是未来 Web 应用的基础技术之一 。WebAssembly 可以与 JAVAScript 和其他 Web 技术协同工作,使开发人员能够使用多种编程语言来构建在线应用,并且具备高效、跨平台的特点 。
 
WebAssembly 于 2019 年 12 月 5 日成为万维网联盟(W3C)的推荐标准,与 html,css 和 JavaScript 一起成为 Web 的第四种语言 。
下面是本次调查结果概览:
  • Rust 和 JavaScript 的使用量持续增加,但一些更显着的变化:Swift 和 Zig 的采用率都显着增加 。
  • 当谈到开发者所“渴望使用”的编程语言时,Zig、Kotlin和C#等语言的受欢迎程度超过了它们目前的实际使用率 。
  • WebAssembly 仍然最常用于 Web 应用开发,但 Serverless 正在持续兴起 , 使用 WebAssembly 作为插件环境的使用也在增加 。
  • 线程、垃圾回收和相对较新的组件模型提案是人们最感兴趣的 WebAssembly 发展方向 。
  • 对于 WASI(WebAssembly 系统接口),最受关注的是 I/O 提案(如 HTTP、文件系统) 。
  • 开发者对 WAI 发展的满意度明显低于对 WebAssembly 发展的满意度 。
  • 开发者希望 WebAssembly 能够兑现 Java 最初做出的“一次编写,到处运行”的承诺 。
语言在开发时利用 WebAssembly 的应用时使用或尝试过使用的语言统计如下:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图

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

文章插图
Rust 连续第三年成为 WebAssembly 最常用的语言 。Rust 一直非常适合 WebAssembly;它是一种广泛流行的现代系统级语言(Stack Overflow 连续七年显示它是最受欢迎的语言),它也恰好是一种用于编写 WebAssembly 运行时和平台的流行语言 。
JavaScript 是第二广泛使用的编程语言 。尽管无法直接将 JavaScript 编译为 WebAssembly,但可以通过将 JavaScript 代码运行时编译为 WebAssembly 来实现在 WebAssembly 中执行 JavaScript 代码的方式 。在这种方法中,代码将在 WebAssembly 托管的解释器中运行 。尽管可能会牺牲一些性能,但出人意料地实用 , 并且越来越受欢迎 。虽然可能无法从速度上获得优势 , 但确实可以受益于 WebAssembly 的安全性和隔离性 。
下图显示了长期趋势,将最近三次调查的结果进行比较,列出了每种语言的使用百分比(经常或偶尔使用),排除使用率低于10%的语言 。
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
Rust 和 JavaScript 的使用率正在增加,但还有一些更显著的变化:Swift 和 Zig 的采用率均显着增加 。
Swift 是 WebAssembly 生态系统中相对较新的成员 , 始于几年前对 Apple Swift 存储库的拉取请求以添加 wasm 目标 。然而,尽管多年来进行了多次提交,但该 PR 尚未合并 。
【2023 年 WebAssembly 现状:第四种 Web 语言】虽然Swift和Rust都是相对较新的语言(分别于2014年和2015年诞生) , 但Zig则更为年轻 , 于2016年出现,比WebAssembly(WebAssembly于2017年发布了第一个MVP版本)早一年 。
今年,我们在调查中添加了一个新问题,旨在了解与 WebAssembly 相关的专业关系 。我们的目标是将积极开发 WebAssembly 工具或平台的人员与最终用户的响应分开 。通过将这两组分离,可以看到以下语言的偏好情况:
2023 年 WebAssembly 现状:第四种 Web 语言

文章插图
正如预期的那样 , 工具开发人员对 Rust 有着强烈的偏好 , 并且也喜欢直接使用 WAT(WebAssembly 文本格式)对 WebAssembly 进行编程 。开发者对 Go 和 Python/ target=_blank class=infotextkey>Python 也有强烈的偏好 。


推荐阅读