Dart Live enables running the Dart compiler, VM, and analyzer entirely in the browser via WebAssembly, supporting stateful hot reload without a server.
<p>I managed to get the Dart VM to compile to WebAssembly so that I can compile Dart programs in the browser. Dart ships with a basic ARM interpreter and by using that, hot reload works directly in the browser.</p>
<p>It's 7.6 MB gzipped and there's no server running behind it, so I was able to host it directly on github pages.</p>
<p><a href="https://github.com/modulovalue/dart-live" rel="ugc">https://github.com/modulovalue/dart-live</a></p>
<p><a href="https://lobste.rs/s/qwoixg/dart_live_compiler_vm_analyzer_hot_reload">Comments</a></p>
# Dart in WebAssembly
Source: [https://modulovalue.com/dart-live/](https://modulovalue.com/dart-live/)
## DartVM in WebAssembly
Edit Dart, run it\. CFE compiles in browser \(dart2wasm\); VM runs via ARM simulator \(emcc\); Dart analyzer also compiled to WebAssembly\.STATEFUL HOT RELOADon the web, compiled to WebAssembly\.
Expert modeLoading…
## About this project
The Dart VM is compiled to**WebAssembly**and runs entirely in your browser, no server involved\.
The kernel front\-end \(`dart2wasm`\) compiles your source to kernel bytes in\-page, the VM \(`emcc`with an ARM simulator\) executes it, and the Dart analyzer \(also`dart2wasm`\) provides type checking and diagnostics live as you type\.
The editor is**Monaco**\(the VS Code editor\), wired up with Dart syntax highlighting and the CodeLens API so each top\-level function gets clickable`▶ Invoke`/`▸ IL`buttons inline above its declaration\.
**Hot reload**uses`IsolateGroup::ReloadKernel`internally and preserves program state across reloads, just like Flutter\.**Invoke**lets you call any zero\-argument top\-level function on the live isolate, bypassing entry\-point pragmas via`\-\-no\-verify\-entry\-points`\.
`Future\.delayed`uses`emscripten\_sleep`via Asyncify, so awaits really wait wall\-clock time without blocking the page\.
SwiftLaTeX enables LaTeX compilation directly in the browser using WebAssembly, allowing users to create and edit LaTeX documents without a server-side LaTeX installation.
A developer built a self-contained browser-use agent that runs entirely in WASM/WebGPU at zero server cost, enabling full webpage control via natural language prompts.
LiteParse is a lightweight WASM-based PDF parser designed for browser and edge runtimes like Cloudflare Workers, enabling efficient document parsing in edge environments.
llama.cpp's web UI now supports executing model-generated JavaScript in a sandboxed iframe via Web Workers, enabling lightweight agentic code execution as an opt-in feature.