Microsoft joins Bytecode Alliance for WebAssembly

Get a free Techzine subscription!

Several organisations have joined the Bytecode Alliance. The group is working to make WebAssembly a success beyond just web browsers.

Not only Microsoft, but also Google, Arm, the Dfinity Foundation, Embark Studios, Shopify and the University of California San Diego have joined the alliance. They complement Fastly, Intel, Mozilla and Red Hat, who set up the non-profit organisation in 2019 to grow WebAssembly into more than just a platform for web applications.

C, C++ and Rust for web applications

WebAssembly is a format that allows the code for web pages to be written in programming languages such as C, C++ and Rust. This should make it possible to create composable, secure and fast code without concessions. This should be an alternative to the compromises that are currently common in software development.

“If you want to build something big, it’s not realistic to build each component from scratch,” says Bobby Holley, a developer at Mozilla and board member of the Bytecode Alliance. “But relying on a complex supply chain of components from other parties allows a defect anywhere in that chain to compromise the security and stability of the entire program.

Holly continues: “Tools like containers can provide some degree of isolation, but they add substantial overhead and are impractical to use at per-supplier granularity. And all of these dynamics entrench the advantages of big companies with the resources to carefully manage and audit their supply chains.”

Two key benefits

There are two main advantages to using WebAssembly, developer Feross Aboukhadijeh tells The Register. The first is that it is now possible to run existing C and C++ codebases on the internet. Existing code that works well, such as ffmpeg, does not need to be rewritten in JavaScript. Also, components whose performance is important can be written in Rust and thus run almost as fast as if the application was running on the user’s own computer. “WebAssembly can perform faster and more predictably than JavaScript, since it’s at a lower level.”

WebAssembly is supported by all major browsers, including the mobile browsers for iOS and Android. What WebAssembly applications outside of web browsers will look like is not made clear.

Tip: Google wants to add Rust programming language to Linux kernel