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: 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: 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. 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: 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:
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.
More InformationRelated ArticlesBlazor WebAssembly Crash Course WASI - WebAssembly Everywhere! WebAssembly Explorer - A Learning Tool WebAssembly Takes A Big Step Towards Being Real 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.
Comments
or email your comment to: comments@i-programmer.info |
Last Updated ( Saturday, 06 August 2022 ) |