常用的 WebAssembly 语言:Rust 和 JavaScript

开发
最新的一份《The State of WebAssembly 2022》调查报告已出炉​,“对于 WebAssembly 来说,这是相当不错的一年”。

最新的一份《The State of WebAssembly 2022》调查报告已出炉​,“对于 WebAssembly 来说,这是相当不错的一年”。报告的一些重点内容包括:

  • Rust 的使用率和渴望度持续攀升
  • Python 的使用量有了很大的提升
  • JavaScript 已经成为一种可行的 WebAssembly 语言
  • Blazor 的使用量和渴望度也都大幅攀升
  • Wasmtime 是使用最广泛的运行时
  • WebAssembly 在无服务器、容器化和作为插件主机方面的使用大幅攀升
  • 受访者表示其已经在更频繁地使用 WebAssembly
  • Non-browser API 是 WebAssembly 最需要的

具体表现为,当被问及 “使用的语言,或者是否尝试过使用 WebAssembly 开发” 时,45% 的受访者表示经常或有时使用 Rust;在去年的这一调查中,Rust 名列榜首。报告指出,WebAssembly 和 Rust 确实有相当密切的关系,大多数 WebAssembly 运行时都是用 Rust 编写的,基于 wasm 的各种平台也是如此。它还拥有一些最好的工具,所以这个结果并不令人意外。

今年排在第二位的是 JavaScript,去年是 AssemblyScript。但去年的调查中并未提供 JavaScript 选项,并且也没有人补充表示正在使用。虽然 JavaScript 不能被编译成 WebAssembly,但有一个解决方法是:你可以不把 JS 编译成 Wasm,而是把 JavaScript 引擎编译成 WebAssembly,然后用它来执行你的代码。“这实际上比你想象的要实用得多。”

67% 的受访者表示经常使用 WebAssembly,相较去年的 47% 有了很大的提升。

如上图所示,Rust 的使用量稳步攀升,但攀升者最猛的是 Blazor 和 Python;AssemblyScript 的使用量下降幅度最大。研究人员怀疑,是否存在有些受访者错误地将 AssemblyScript 识别成了 JavaScript?

意料之中的是,受访者表示他们最想用来进行 WebAssembly 开发的语言也是 Rust。与去年相比,Rust 的受欢迎程度略有上升,但最突出的还是 Blazor,Go 紧随其后。总的来说,Blazor 在 2022 年势头不错。

大多数人使用 WebAssembly 进行 Web 开发,其次是无服务。将今年的结果与去年的结果进行比较后发现:WebAssembly 在无服务器和容器化中的使用出现了上涨,但最大的增长是使用 WebAssembly 作为插件环境;WebAssembly 在游戏中的使用出现了下降。

受访者最感兴趣的特性分别是 Threads、Exceptions 和 Garbage Collection,最感兴趣的 WASI(WebAssembly System Interface)提案分别是 I/O types、Sockets、Filesystem 和 Native threads。且报告指出,Non-browser API 是 WebAssembly 在未来取得成功最需要的因素。“这进一步凸显了人们对 WASI 的兴趣和重要性。”

更多详情可查看完整报告。

本文转自OSCHINA

本文标题:最常用的 WebAssembly 语言:Rust 和 JavaScript

本文地址:https://www.oschina.net/news/200415/state-of-wasm-2022

责任编辑:未丽燕 来源: OSCHINA
相关推荐

2021-06-11 09:00:00

语言WebWebAssembly

2020-07-15 08:00:52

Rust语言技巧

2023-10-27 10:16:17

前端项目Rust

2020-10-22 06:59:09

GolangRust语言

2021-08-30 08:00:00

编程语言WebAssembly安全

2021-06-09 11:03:13

Web开发软甲开发JavaScript

2022-05-16 10:25:03

Web内部垃圾收集安全性

2022-10-28 16:57:18

DockerWasm

2010-10-08 09:42:23

JavaScript方

2023-09-22 14:33:24

微软Rust开发工具

2018-07-30 13:29:04

WebAssemblyGo语言

2021-03-23 14:50:16

编程语言Rust漏洞

2022-05-09 15:43:34

JavaScriptRust开发

2023-02-24 13:07:07

2021-03-30 13:48:47

WebAssemblyWeb浏览器编程语言

2022-11-02 07:37:07

WebAssembl浏览器服务器

2015-11-25 10:43:03

DGORust

2022-05-09 10:36:05

PythonPyScript开发者

2017-03-19 22:13:10

WebAssemblyJavaScript编程

2024-04-01 11:43:51

Rust开发插件
点赞
收藏

51CTO技术栈公众号