Кроссплатформа · Урок 86

Десктоп: Electron и Tauri

Собственный сервис можно отдать и как десктоп-приложение: знакомый веб-стек, окно, трей и работа с файловой системой. Разбираем два пути.

Electron — быстрый старт, весомый размер

Tauri — лёгкий и на Rust

// Tauri: системный WebView + Rust-ядро
invoke("save_file", { path, data })
  .then((ok) => console.log("saved", ok));

// бэкенд-функция на Rust
#[tauri::command]
fn save_file(path: String, data: Vec<u8>) -> bool { ... }
💡
IPC — мост между интерфейсом и «системным» процессом: UI отправляет запрос, ядро выполняет файловые операции. Держите секреты и доступы в ядре, а не в клиентском js.
ℹ️
Безопасность: код из интернета в desktop — риск (remote code execution). Ограничивайте источники, не отдавайте произвольные URL в main process, подписывайте сборки.