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
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.”
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.
- The WebAssembly Component Model from Fermyon
- Why Wasm is the Future of Cloud Computing from InfoWorld
- Wildly Distributed Programming: Wasm and the Future of Distributed Computing — Wasm Day presentation by Brooks Townsend
Are you on Mastodon? Follow FOSSlife at @FOSSlife@mastodon.fosslife.org.