WebAssembly: The Next Big Thing

WebAssembly (or Wasm) seems to be everywhere lately, with adoption of this technology growing rapidly. So, what’s the buzz all about? In this article, we’ll provide a brief overview of Wasm and offer resources to help you learn more.

What is Wasm?

WebAssembly is “a binary instruction format for a stack-based virtual machine,” states the WebAssembly website. It’s designed “as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.”

In other words, says Mary Branscombe, you can “think of it as a small, fast, efficient and very secure, stack-based virtual machine that doesn’t care what CPU or OS it runs on, that’s designed to execute portable bytecode — compiled from code originally written in C, C++, Rust, Python or Ruby — at near-native speed. WebAssembly doesn’t only run in the browser: It started on the client, but is proving very useful on the server.”

Adoption and Uses

Wasm was first released in 2017, but now it’s “starting to be used to rapidly build lighter-weight applications that can be deployed on any server platform,” says Mike Vizard

And, in a recent CNCF Wasm microsurvey, 63 percent of survey respondents said they were both porting new applications using Wasm and migrating existing workloads. The top three languages used in association with Wasm are Rust (59%), Go (47%), and JavaScript (46%), the survey says.

Another notable feature of Wasm is its built-in security. Per the website: ”WebAssembly describes a memory-safe, sandboxed execution environment that may even be implemented inside existing JavaScript virtual machines. When embedded in the web, WebAssembly will enforce the same-origin and permissions security policies of the browser.”

According to Branscombe, “As a fast, secure and powerful way of running code across multiple platforms, WebAssembly is very well suited to running untrusted code from a customer or partner, whether that’s a serverless function where you want to avoid a cold start by injecting code into an already running container… .”

“WebAssembly is great for a ton of use cases already, especially for creating performant web apps,” says Brent Ellis, Senior Analyst at Forrester, and “it is on the cusp of evolving to be a lot more.”

Awesome Wasm

If you’re ready to get started, this curated list highlights awesome things in the Wasm ecosystem. And, the Wasm By Example website offers a “hands-on introduction to WebAssembly using code snippets and annotated WebAssembly example programs.”

Check out the following resources for even more information.

Learn More

Ready to find a job? Check out the latest job listings at Open Source JobHub.

FOSSlife Newsetter