Skip to content

Architecture Overview

Overview

Desktopr combines a web frontend, a Rust-based Tauri backend, and a web/desktop bridge API that allows deep OS‑level integrations directly from your web app.

It follows a layered design that separates user interface, system capabilities, and build automation.

Core Components

LayerDescription
Frontend Runtime (Webview)The user’s web app runs inside a OS native WebView (WebView2 on Windows, WebKit on macOS, WebKitGTK on Linux).
Bridge Layer (Rust/JS)The native Rust code handles secure execution of system tasks such as file system, events, files, window management, WASM plugin sandboxing etc. And exposes commands that can be called with JS with the Desktopr internal API using desktopr Node module.
Builder Engine (Tauri)Wraps the web app, compiles per‑platform executables, and handles signing, icons, and distribution tasks.
Cloud InfrastructureDesktopr builds your application on the cloud and stores your latest app builds.

Execution Flow

  1. Testing → You can download the Desktopr Companion app, where you can enter your web app URL and test the Desktopr native features using the desktopr Node module.
  2. App Setup → When you're done testing, create a new application on the Desktopr dashboard, then select your web app URL and configuration inside the New build section of the Application page.
  3. Build Phase → When you're ready, you can start the new build for your application, that will be compiled into platform‑specific binaries that you will be able to download or sign and distribute (the app and its build files are entirely owned by the user).

Bridge Model

Each bridge module corresponds to a Rust subsystem exposed as asynchronous commands in the webview.
Modules include files, fs, window, shortcuts, network, autostart, badge, worker (plugins), and more. Check the bridge documentation.

Each call invokes a corresponding Rust command managed by Tauri under the hood.

Plugin and Worker System

The Worker module allows loading and executing WASM based plugins inside a secure, sandboxed Web Worker.
Plugins can implement custom computation logic while maintaining full isolation from the host system.

Security & Isolation

  • Plugins execute in isolated sandboxed environments, without network access and with configurable timeouts and memory caps.
  • Access through the File System module is strictly limited to the Desktopr isolated environment. It does not provide access to the global file system of the host machine, ensuring security and sandboxing.
  • No system call is directly exposed to the webview; all actions pass through Rust‑level validation.

All rights reserved.