I've been building something I think this community would find interesting — R1, a runtime that lets Tauri apps run in the browser with no server required.
🔗 Live demo: https://r1-todo-demo.netlify.app/
📦 Source: https://github.com/12errh/r1-tauriweb-runtime-v1
The idea: take your existing Tauri app (Rust backend + JS frontend), run npm run build with the R1 Vite plugin, deploy the output as a static site. End users visit a URL and your app just works — no installer, no download.
How the Rust backend runs in the browser:
- Compiled to WASM via
wasm-pack, runs in a dedicated Web Worker - WASI shim intercepts
std::fscalls → redirects to OPFS (files persist across refreshes) - IPC bridge patches
window.__TAURI_INTERNALS__→ yourinvoke()calls work unchanged - Rust → JS event bridge for
emit/listen - Serde JSON bridge for complex data passing
Current status: 31/31 tests passing, todo demo working end-to-end. Works well for simple/medium Tauri apps. Heavy native deps won't work (can't spawn real processes in a browser).
Would love for people to try running their own Tauri apps through it and tell me what breaks — that's the best way to find the gaps. Happy to answer any questions about the architecture! 🦀