Naar inhoud gaan
supastack
Blader door de docs
Desktop-appTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/desktop/tech-stack.md (or send Accept: text/markdown).

Desktop-technologiestack

De technologieën in de Tauri-shell en de rol die elk speelt.

Voordat je begint

De Desktop-app is bewust dun: een Rust-kern bezit het native venster terwijl een webview je webapp laadt. Alles hieronder is al vastgezet in de checkout — deze pagina legt uit wat elk stuk doet zodat de latere gidsen logisch zijn.

Product-UI, authenticatie, billing en AI leven allemaal in de web-codebase die het venster laadt. Een alleen-Desktop-checkout bevat alleen de shell — daarom is deze stack opzettelijk klein.

Tauri 2 + de systeem-webview

Tauri 2 rendert de app met de eigen webview van het besturingssysteem — WebView2 op Windows, WebKit op macOS, WebKitGTK op Linux — dus de shell blijft klein en draagt geen meegeleverde browser-runtime. frontendDist wijst naar apps/desktop/ui, de opstartpagina die wordt getoond terwijl de webapp laadt, dus een koude start rendert nooit een leeg venster.

Rust + TypeScript

Het gedrag van de shell is Rust — src-tauri/src, editie 2021, minimum Rust 1.90 — gebouwd door cargo. Kleine Node-scripts geschreven in TypeScript behandelen de release-preflight en het updater-manifest.

Native functies via plugins

Vensterstatus, single instance, deep links, de globale sneltoets, de tray, starten bij aanmelden, de updater, het openen van externe links, dialogen en procescontrole komen allemaal van tauri-plugin-*-crates — de shell voegt geen eigen IPC-commando's toe. Een native capaciteit toevoegen betekent nog een plugin registreren of degene die er al zijn bedraden.

tauri.conf.json + capabilities

De bundle-identifier com.supastack.desktop, de vensterlijst, plugin-opties en het updater-endpoint leven in src-tauri/tauri.conf.json. Webview-rechten blijven in src-tauri/capabilities/default.json — momenteel core:default plus opener:allow-open-url voor systeembrowser-links — en worden alleen verbreed wanneer een native functie ze nodig heeft.

Verificatie-tooling

cargo test dekt de Rust-logica — URL-resolutie, de navigatiepoort, deep-link-mapping, updater-kanalen, zoom en venstervoorkeuren — terwijl node --check de opstartpagina valideert en check:release-config release-builds bewaakt. CI bouwt alle drie de besturingssystemen.

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop check:release-config