A new WebAssembly survey sponsored by software development company Scott Logic shows growing usage as a runtime for plug-ins and serverless, alongside web development, and consensus that tooling is lacking.
According to the developer survey, use of WebAssembly outside the browser is increasing. Asked what WebAssembly is used for, serverless was identified by nearly 40 percent and use as a plug-in environment by nearly 30 percent, with both categories growing fast since earlier surveys in 2021 and 2022. Use for web development remains the biggest category, but has declined a little since 2021.
The result also show a big difference between end user developers, who target WebAssembly, and those engaged in WebAssembly tooling. As one might expect, the end user developers did not use Rust so heavily (though still preferring it), and had higher usage for AssemblyScript, Zig, C# and Go, compared to the tool developers.
On one matter there is consensus between both surveys though. The top challenges in WebAssembly are around tooling, with CNCF respondents complaining that “Debugging and troubleshooting is difficult,” and Scott Logic participants placing “better debugging support” about equal with “better integration with non-browser APIs” as what the ecosystem most needs. Better build tooling is also high on the list.
WebAssembly is maturing though. Top feature requests are threads, component model, garbage collection and exception handling, and of these all but component model are already at implementation or standardisation phase, Eberhardt states, meaning they are “ready to use and close to finalization.” Component model is an early stage proposal.
The big picture though is that WebAssembly is no longer all about web applications, but rather of increasing interest for running code in a variety of different environments. “Many respondents shared that they expect WebAssembly to deliver on the ‘write-once and run anywhere promise’ that was originally made by Java,” Eberhardt notes.