BuildTauri snapshot example

Tauri #

The repository's Tauri example opens a prebuilt WebUI app using Rust, without Node or an HTTP server. It loads protocol.bin and JSON state, renders once, and serves the page and browser assets through a custom protocol.

This is an example host, not a separate WebUI package or application SDK. For WebUI's own window, state, and IPC APIs, see Desktop Apps.

Install Tauri's platform prerequisites and the repository's pnpm dependencies, then run from the repository root:

pnpm --filter hello-world-example build
cargo run --manifest-path examples/integration/tauri/Cargo.toml --locked --release -- \
  examples/app/hello-world/dist \
  examples/app/hello-world/data/state.json \
  --theme=@microsoft/webui-examples-theme

The two paths select the build directory and initial state file. --plugin=webui enables browser hydration for apps built with that plugin; omit it for plain HTML. --theme=<file-or-package> resolves and injects the app's theme tokens before rendering. File paths resolve from the working directory; npm packages resolve from the state file's directory. Without --theme, any token CSS already supplied in the state is preserved. No Tauri CLI or JavaScript Tauri package is required.

Like the Electron example, this is a read-only snapshot host, not a complete application backend. Client-side interactions work; server routing, API mutations and persistence require your own handlers. Only / serves the rendered page.

Use trusted builds and relative asset URLs. The origin is webui://app on macOS/Linux and https://webui.app on Windows. The example uses an ephemeral profile, blocks foreign navigation and popups, and grants no native invoke capabilities. Close the window to exit.

See examples/integration/tauri for the host and local verification commands.