Running JavaScript, Python, and Ruby in WebAssembly
Talkat Cloud Native Wasm Day Europe 2022 · on Monday, 2022-05-16· at 11:05· Pavilion 3, Room F | Level 2 | Central Forum, Feria Valencia, Spain + Live Stream·
summary
QuickJS compiled to Wasm runs ES6 modules and, with a bundler, CommonJS npm packages; combining that with Rust-written host extensions exposes high-performance Rust APIs (networking, fetch, TensorFlow inference) to JS and enables streaming SSR for React 18 at the edge, replacing Node/Deno containers. QuickJS+Wasm stays tiny (under ~1 MB) versus V8 ~40 MB. Python via RustPython is runnable but C extensions remain a blocker; CRuby compiles to Wasm for pure Ruby execution. WasmEdge adds nonblocking sockets and native extensions.
AI-written summary · about
chapters (11)
- 0:00Introduction to WASM
- 3:43Why Scripting in WASM
- 5:24Key WASM Use Cases
- 7:56WASM on the Server
- 10:51Running JS with QuickJS
- 14:03Supporting NPM Modules
- 15:43Rust and JS Interaction
- 18:28Advanced SDK Extensions
- 21:27Server-Side Rendering
- 23:11Performance Comparisons
- 25:45Python and Ruby Support
related talks
44mJavaScript in WebAssembly? Why and How
22mWebAssembly beyond the browser
34mPractical Polyglot WebAssembly
30mWhy Should You Consider JavaScript on WebAssembly?
44mOut of the JavaScript Box: Front-End Rust Programming
01h 42mWebAssembly: Writing Once and Running Everywhere NG
28mPowering Up NodeJS Performance by Rust and WebAssembly
41mLet's build with WebAssembly!
