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.
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.
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.
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
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?
Why I Left Google WebAssembly and How I Got Sick, Testimony from Catelyn Gadd, Game Designer and Tool Programmer
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