Wasm Intro
Rainer Stropek | @rstropek
Material
What is WebAssembly (Wasm)
- Binary instruction format
- Open specification 🔗
- Stack-based VM
- Portable compilation target
- Deployable on (web) client and servers
- Sandboxed execution environment
- Security policies of the browsers are enforced
- When embedded in JS runtime, interact with JS
Rust and Wasm
- Use cases on the client
- Build part of an application
- Reuse existing code (e.g. rendering logic)
- Implement CPU-intensive, performance-critical parts
- Build an entire web application
- E.g. yew 🔗
- Build part of an application
- Use cases on the server
What is WASI?
- WebAssembly System Interface
- Not focusing on web apps, but server apps
- Yet, it can run in a web-browser
- Standard set of APIs to interact with OS
- E.g. file access, networking
- Portable, not OS-specific
Wasmtime, Wasmer, Krustlet & Co
Demo
Time!
WebAssembly Introduction
By Rainer Stropek
WebAssembly Introduction
- 618