04 - Frontend ↔ Backend Bridge
Tauri connects UI and Rust using commands and events.
Calling Rust from frontend
Frontend example:
import { invoke } from '@tauri-apps/api/core';
const greeting = await invoke<string>('greet', { name: 'Sam' });
Rust example:
#[tauri::command]
fn greet(name: String) -> String {
format!("Hello, {}!", name)
}
Returning errors safely
Use typed errors and clear messages instead of panics.
Events for push-style updates
- Backend emits events for progress/state changes
- Frontend listens and updates UI live
Example pattern:
- Frontend starts long task via command
- Backend emits
task-progress - Frontend updates progress bar