News

Blazor Posts Biggest Gain in WebAssembly Usage: Report

"It's been a good year for Blazor!"

That's one takeaway from the second consecutive "State of WebAssembly" report just published by UK-based software consultancy Scott Logic.

WebAssembly (sometimes called wasm) is the tech that makes Microsoft's client-side Blazor possible, as it's a low-level assembly-like language that serves as compilation target for several programming languages, allowing them to be used in browser-based projects that heretofore primarily relied upon the ubiquitous, love-it-or-hate-it JavaScript.

Those langues include C/C++, C#, Rust and others.

The 2022 report, authored by Scott Logic CTO Colin Eberhardt, follows up on his 2021 report based on a survey that polled hundreds of people to find out more about where and how people are using the technology and their thoughts for the future.

This year, like last year, Rust was found to be the most frequently used and most desired programming language for WebAssembly.

"Rust once again comes out on top, with 45 percent saying they use it frequently or sometimes," Eberhardt said. "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."

While Rust usage and desirability has continued to climb, the Blazor web-dev framework is coming on strong in the report, which treats Blazor as a programming language, though it's not.

On that desirability scale, Blazor climbed from sixth spot in 2021 to fourth this year among seven "programming languages," as shown in the graphic below that depicts the percentage of respondents who use a given language 'frequently,' or 'sometimes,' compared to last year.

Languages Used Frequently or Sometimes Compared to Last Year
[Click on image for larger view.] Which Languages People Most Want to Use for WebAssembly Development Compared to Last Year (source: Scott Logic).

Eberhardt said, "Rust has had a modest rise in desirability, but the biggest climber is Blazor, with Go following just behind."

Commenting on another graphic that shows which language people most want to use for WebAssembly development (below), he said, "This shows that Rust usage has climbed steadily, but the biggest climbers are Blazor and Python. It's certainly been a big year for Python, with the launch of Pyscript, an interactive online playground. AssemblyScript has had the biggest fall in usage, which surprised me a little. I do wonder whether some respondents are incorrectly identifying AssemblyScript as JavaScript?"

Languages Used Frequently or Sometimes Compared to Last Year
[Click on image for larger view.] Languages Used Frequently or Sometimes Compared to Last Year (source: Scott Logic).

Yet another graphic also sheds light on desired languages in the 2022 report, depicting the percentage of respondents who want to use a language a lot, a little, don't want to use or have not heard of it.

Languages Used Frequently or Sometimes Compared to Last Year
[Click on image for larger view.] Which Languages People Most Want to Use for WebAssembly Development (source: Scott Logic).

Along with a big climb in usage and desire for Blazor, other highlights of the report as presented by Eberhardt include:

  • Rust usage and desirability has continued to climb
  • Python has seen a big climb in usage
  • JavaScript has become a viable WebAssembly language
  • Wasmtime is the most widely used runtime
  • The use of WebAssembly for Serverless, Containerization and as a plug-in host has climbed significantly
  • Survey respondents are using WebAssembly much more frequently
  • Non-browser APIs are what WebAssembly needs the most

Eberhardt said one notable change from last year concerns what people are using WebAssembly for, noting a considerable increase in usage for serverless and containerization projects, as well as it gaining ground as a plug-in technology.

"As I mentioned in the introduction, it has been quite the year for WebAssembly," he concluded. "I was certainly aware that this technology is shifting more towards being a universal runtime, but didn't expect the change to be quite so marked."

The report is based on a survey that garnered 299 respondents, compared to 250 last year, with no details on exact methodology.

The report sparked robust discussions on the development-oriented social site Hacker News and on Reddit, where one commenter pointed out that Blazor is not a programming language, but rather a framework in which C# is used.

"That's a very good point - I'll correct that for next year's survey," Eberhardt said. "I guess people who work on WebAssembly applications know that C# and Blazor are effectively synonymous, so the results shouldn't be effected [sic]."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube