Cross-platform desktop applications built with Electron, packaging a Chromium browser and Node.js runtime into a native installer for Windows, macOS, and Linux. One codebase, three platforms. The right choice when your development team works in JavaScript or TypeScript, when you're building a tool that's already web-shaped (dashboards, data entry, document editing), or when the budget for separate native codebases isn't justified by the feature set.
Electron's main/renderer process architecture keeps OS-level operations in the main process (file system, native menus, IPC with external processes) and UI rendering in the renderer process, with a typed IPC bridge between them. Context isolation and content security policies prevent renderer code from accessing Node APIs directly. App bundle size management via electron-builder with platform-specific packaging: DMG for macOS, NSIS or Squirrel installer for Windows, AppImage or deb for Linux. Auto-update via electron-updater pointing to a self-hosted or GitHub Releases update server.
Tauri is the lighter alternative to Electron. Instead of bundling Chromium, Tauri uses the OS's native webview (WebView2 on Windows, WebKit on macOS/Linux), which reduces installer size from 80-150MB to 5-10MB. The backend logic runs in Rust rather than Node.js, giving Tauri apps significantly lower memory footprint and better startup performance. The UI layer is still web tech (React, Vue, Svelte), so the same frontend skills apply. Tauri is the right choice when bundle size matters (consumer-facing installs), when you want the security model of Rust in the native layer, or when you need native system calls without the Node.js overhead.