DEV Community

jeikabu
jeikabu

Posted on • Originally published at rendered-obsolete.github.io on

24 8

WASM to WASI

You would have to try hard to avoid hearing about WebAssembly/WASM. Hardly a day goes by without another article popping up.

Some years ago we used emscripten to turn a C/C++ game engine into JavaScript/WebGL for running in a web browser. Amusing, but the resulting mess was big, slow, and pretty painful to debug. Unity dialed this to 11: C# -> (via Mono) IL -> (via IL2CPP) C++ -> (via emscripten) JavaScript. They deserve a tip o’ the hat for that impressive bit of software engineering gymnastics, but I’m glad I never had to use it.

I’ve been curious about the tech behind WASM, but not being a web-frontend guy was only casually/passively interested. WASI changes that by embracing WASM outside the browser; another contender for the “write once, run anywhere” panacea.

The Rust Connection. Namely, why Rust? The Rust team made WASM a focus for 2018 because reasons. The crux of the argument being:

  1. Languages without runtimes are the best candidates for WASM (i.e. C/C++/Rust)
  2. Rust is better/safer/easier (especially for people coming from JavaScript) than C/C++

Perhaps subjective, but palatable with the right colored glasses (unless you’re a diehard C/C++ enthusiast). Are Rust and WASM the solution to all your problems? Probably not, but we can be interested in the tech regardless.

Rather than write a verbose treatise on WASM basics (of which there are many), thought I’d round up various resources and notes/browser tabs I’ve got hanging around.

Introduction to WASM:

WASI- WASM outside the browser:

Use cases:

Digging in:

Misc:

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (2)

Collapse
 
zerok profile image
Horst Gutmann • Edited

Have you also already looked at wasmer.io/ ? 🙂 Looks like a good approach to distribute wasm applications.

Collapse
 
jeikabu profile image
jeikabu

Only briefly, been more focused on wasmtime so far.

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay