How Is WebAssembly Doing?
Written by Janet Swift   
Wednesday, 03 August 2022

The State of WebAssembley 2022 report comes from Colin Eberhardt, CTO of UK-based software consultancy Scott Logic. The survey, inaugurated in 2021, has polled hundreds of people to find out more about where and how people are using the technology and gage their thoughts for the future.

Eberhard's initial survey had 250 respondents and this year saw a 20% increase to 299. This may seem like a small number, but the respondents appear to be the right people - i.e those who are actually using WebAssembly, aka wasm. Whereas fewer than half of those surveyed in 2021  (47%) used wasm frequently, this year it jumped to two-thirds (67%). 

So what does the survey tell us about the WebAssembly ecosystem?

Eberhardt prefaces his report with:

WebAssembly has gone through quite a transformation this last year, while the wasm language landscape is slowly shifting, the more notable change is in what people are using WebAssembly for. The use of wasm for serverless, containerisation and as a plug-in technology has leapt considerably, with WebAssembly System Interface (WASI) becoming ever more important.

As last year, the survey asked What are you using WebAssembly for at the moment, allowing people to select multiple options and add their own suggestions. The Other category in the chart below includes everything that only had a single response:

SLWasmusage

As is to be expected web development is the dominant use, but its share has seen a more than 10% decline from 2021. It uses for Game development saw an even greater decline. In 2021 it was in second place, used by over a quarter of respondents and in 2022 this was reduced to around 10%. In 2021 Serverless was in third place, used by around 24% closely followed by Containerless and both have seen an increase in useage reflecting a trend for WebAssembly to replace Docker.. The most dramatic increase in usage of WebAssembly is as a plug-in environment, going from less than 5% to nearly 25% in the year. Commenting on this Ebhard says:

It is a fantastic runtime for hosting untrusted code within a secure environment. The Lapce code editor is a good example of this.

What wasm is being used for influences the languages being used with it and the survey provides insights into languages used and not used and those that respondents was to use and to avoid: 

SLWasmlangs

SLWdesired

Last year Rust was found to be the language most frequently used with wasm and this year its usage increased, putting it even more firmly in the lead. It was also the language that respondents most wanted to use, which accords with findings from the Stack Overflow survey this year and over the last couple of years. Commenting on Rust's top position  Ebhard who notes:

"WebAssembly and Rust do have quite a close relationship, most WebAssembly runtimes are written in Rust, as are the various platforms based on wasm. It also enjoys some of the best tooling, so this result doesn't come as a big surprise."

JavaScript is in second place for both actual and desired use. This might not seem like a surprise given wasm is used predominantly for web development - but  JavaScript cannot be compiled to WebAssembly and the idea that it would be used in conjunction with it was so remote in 2021 that the option wasn't even included in the questionnaire. Now, according to Ebhard:

There’s a cunning workaround for this challenge; rather than compiling JS to Wasm, you can instead compile a JavaScript engine to WebAssembly then use that to execute your code. This is actually much more practical than you might think.

Blazor, Python and Go aslo saw increases in usage and it Blazor stands out in having the greatest increase in desirability. For clues as to why see our report in the Blazor WebAssembly Crash Course.

The survey also probed the features developers were most interested in seeing in future versions of wasm with threads  coming top, followed by exceptions and garbage collection.

SLWasmfeatures.jpg

In view of the increasing importance of the WebAssembly System Interface, which adds further system-level integration APIs to WebAssembly, see our report WASI - WebAssembly Everywhere!, the survey also looked into which of its proposed features people were most interested in:

SLWASfeatures

Noting that a proposal for I/O types comes out on top, followed by sockets, filesystem and native threads, Eberhardt adds:

Notably, if you compare this chart to the previous one for WebAssembly proposals, there is a far greater interest for WASI overall."

The final question in the survey asked:

SLWasmfut

According to Eberhardt the fact that non-browser APIs comes out on top further highlights peoples' interest in, and the importance of, WASI. Better debugging support and better build tooling are very much to be expected but it is interesting that there isn't a huge demand for more languages - but of course it already has all the popular and necessary ones. 


wasm

 

More Information

The State of WebAssembly 2022

Related Articles

Blazor WebAssembly Crash Course

WASI - WebAssembly Everywhere!

WebAssembly Explorer - A Learning Tool

WebAssembly Is Ready For Use

WebAssemby Another Milestone 

WebAssembly Takes A Big Step Towards Being Real 

Progress On WebAssembly 

WebAssembly Has Mozilla, Microsoft,Apple and Google Backing It 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Run WebAssembly Components Inside Node.js With Jco
28/03/2024

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?



Apache Superset 4 Updates Reports
15/04/2024

Apache Superset 4 has been released with improvements to the reporting module and redesigned alerts. Superset is a business intelligence web application. It is open source, provides data exploration a [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Saturday, 06 August 2022 )