WebAssembly Development Status Report 2022 reveals that Rust is the most used and wanted language, and web applications are the primary use case


The 2022 edition of the WebAssembly 2022 Status Report was recently released and notes that the technology has undergone a number of notable changes over the past year. The report reveals that Rust dominates the list of most used and wanted languages ​​in the WebAssembly (Wasm) ecosystem. He adds that JavaScript has become the second most used WebAssembly language and Wasmtime is the most used platform. In addition, the use of WebAssembly as a hosting plugin for serverless applications and containerization has increased exponentially.

Most used and most requested languages

According to Colin Eberhart, Scott Logic’s technical director and study rapporteur, many of the survey questions have been carried over from last year, allowing for a direct comparison. In 2021, 250 people answered the survey, and this year that number rose to 299. The first question explored the languages ​​that developers use by asking the following question: What languages ​​do you use or have you tried? To develop WebAssembly? Similar to last year, Rust again came out on top, with 45% of respondents saying they use it frequently or sometimes.

Eberhardt points out that WebAssembly and Rust have a fairly close relationship, since most WebAssembly runtimes are written in Rust, as are the various Rust-based platforms. He added that it also benefits from some of the best tools, so this result is not a huge surprise. This year, JavaScript is in second place. No JavaScript option was added last year (and no one mentioned using it via the “other” option), which is a big change from last year. Can’t convert JavaScript to WebAssembly, how does that work?

Eberhardt points out that there is indeed a clever solution to this problem. Instead of compiling JavaScript in Wasm, you can compile the JavaScript engine in WebAssembly and use it to run your code. He said it’s actually more convenient than you think. This year, 67% of respondents said they use Wasm frequently, a significant increase from 47% last year. The following graph shows the percentage of respondents who use a particular language “frequently” or “sometimes”, compared to last year:

It appears that Rust usage has steadily increased, but the biggest winners are Blazor and Python. It’s definitely a big year for Python, with the launch of Pyscript, an online interactive playground. AssemblyScript has seen the biggest drop in usage. Which surprised me a little. I’m wondering if some respondents have misidentified AssemblyScript as JavaScript? Eberhart asked. The following question asked which language developers would like to use for WebAssembly development.

Unsurprisingly, rust comes to the fore. It has ranked among the most popular languages ​​in a StackOverflow survey for the past six years. Rust saw a modest increase in desire, but the biggest winner is Blazor, closely followed by Go.

WebAssembly applications and runtimes

The next question explores what users do with WebAssembly, as well as their future aspirations. The survey asked what WebAssembly is currently using, allowing people to select multiple options and add their own suggestions. The responses revealed that most developers use WebAssembly for web development. However, if we compare this year’s results with those of last year, we will notice significant changes: the use of WebAssembly for serverless and container applications has increased.

The biggest increase has been in the use of WebAssembly as a plugin environment. “It’s a great platform for hosting untrusted code in a secure environment,” said Eberhart. The report also indicates that the use of WebAssembly for games has decreased.

Due to the increase in WebAssembly usage outside of browsers, this year’s survey sought to find out which runtime engines are most used by WebAssembly applications. The responses revealed that Wasmtime, from the Bytecode Alliance, is the most widely used runtime environment, with Wasmer, developed by Wasmer Inc. Emerging, ranked second.

Popular Features

WebAssembly follows a public submission process that is governed by the W3C. This survey includes a subset of the more mature proposals in Phase 2 (available specification) and Phase 3 (implementation), and asks what developers are most interested in. The threads proposal, which adds a common linear memory and “atom”, comes first, followed by exception support and garbage collection. The WebAssembly System Interface (WASI), which adds WebAssembly system-wide integration APIs, is becoming increasingly important.

The survey also asked which WASI proposals were most important to developers. I/O types come first, followed by sockets, file system, and native threads. In particular, if you compare this table to the previous table of WebAssembly proposals, there is much more interest in WASI in general. Additionally, the survey asked users what WebAssembly needs most to be successful in the future. Out-of-browser ease of use APIs come to the fore, highlighting the interest and importance of WASI for developers.

demographics

Finally, the survey included some questions that provided insight into the demographics. Respondents were asked to state their skill level in JavaScript development, backend and WebAssembly. It is interesting to note that in the past year, survey respondents have shown that they are more proficient in JavaScript development and front-end development.

This year’s report authors found that the survey attracted people who were more skilled in back-end development, likely reflecting WebAssembly’s shift in focus. Interviewers also asked them about how long they have used or been familiar with WebAssembly. This year, participants were more experienced, with the majority of respondents saying they had at least two years’ experience, compared to just over a year last year.

Source: Survey Report

And you?

What do you think about it?
What do you think of the poll results?
What do you think of Rust’s popularity in the WebAssembly ecosystem?
Do you think the Rust language will be picked up by JavaScript in the coming years?

See also

Why I Left Google WebAssembly and How I Got Sick, Testimony from Catelyn Gadd, Game Designer and Tool Programmer

JavaScript and Python reign supreme, but Rust is on the rise, and the number of Rust users worldwide has risen to 2.2 million, according to a survey by SlashData

State of the Developer Nation: JavaScript is said to have a community of nearly 14 million developers, while Python is the fastest growing language in recent years

Wasmer: An open source runtime for running WebAssembly on a server with Wasm-C API support

Rust 1.54 is available. This release extends the WebAssembly language connection and allows the use of macros in themes

Leave a Comment