Dit bericht verscheen eerder bij FOSSlife
WebAssembly: The Next Big Thing
FOSSlife Team
Wed, Nov 09, 2022 – 16:06
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
- 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
Dit bericht verscheen eerder bij FOSSlife