Preise

Schnellstart

Quelldateien

Diese Seite wurde aus den folgenden Quelldateien erstellt:

Tauri ist ein Framework zur Erstellung kleiner, extrem schneller Binärdateien für alle wichtigen Desktop-Plattformen. Entwickler können beliebige Frontend-Frameworks integrieren, die zu HTML, JS und CSS kompilieren, um die Benutzeroberfläche zu erstellen. Das Backend der Anwendung ist ein Rust-basiertes Binary mit einer API, mit der das Frontend interagieren kann (README.md:12-18).

Tauri Projekt erstellen

Die schnellste Methode zum Starten eines Tauri-Projekts ist die Verwendung von create-tauri-app. Dieses Tool generiert ein vorkonfiguriertes Projektgerüst mit allen notwendigen Dateien und Einstellungen.

Der empfohlene Befehl mit npm lautet:

sh
1npm create tauri-app@latest

(README.md:20-28)

Dieser Befehl interaktiv durch den Projekt-Erstellungsprozess und fragt nach:

  • Projektnamen
  • Frontend-Framework (z.B. React, Vue, Svelte, Vanilla)
  • Paketmanager (npm, pnpm, yarn, bun)

Nach Abschluss erstellt das Tool eine vollständige Projektstruktur mit:

CLI Installation

JavaScript/TypeScript CLI

Das @tauri-apps/cli Package ist ein in TypeScript geschriebener Node.js-Runner für häufige Tauri-Aufgaben wie pnpm tauri dev. Es fungiert als Wrapper um das native Rust CLI (packages/cli/README.md:24-28).

Die bevorzugte Methode ist die lokale Installation als Entwickler-Abhängigkeit:

bash
1# Mit pnpm
2pnpm add -D @tauri-apps/cli
3
4# Mit yarn
5yarn add -D @tauri-apps/cli
6
7# Mit npm
8npm add -D @tauri-apps/cli

(packages/cli/README.md:30-38)

Das CLI Package unterstützt die Paketmanager npm, pnpm, yarn und bun. Die aktuelle Version wird über npm verteilt und folgt der semantischen Versionierung 2.0 (packages/cli/README.md:1-16, packages/cli/README.md:40-42).

Rust CLI Alternative

Für Entwickler, die eine native Rust-Lösung bevorzugen, bietet tauri-cli ein Rust-Executable mit vollständiger Schnittstelle zu allen CLI-Aktivitäten. Es läuft auf macOS, Windows und Linux (crates/tauri-cli/README.md:24-28).

Installation mit Cargo:

bash
1cargo install tauri-cli

Verwendung:

bash
1cargo tauri dev

Das Rust CLI bietet dieselben Funktionen wie das JavaScript-Pendant, erfordert jedoch eine Rust-Entwicklungsumgebung (crates/tauri-cli/README.md:18-23).

Voraussetzungen und Plattformen

Systemanforderungen

Vor der Projekt-Erstellung müssen die systemspezifischen Voraussetzungen installiert werden. Tauri unterstützt Entwicklung und Distribution auf folgenden Plattformen:

PlattformUnterstützte Versionen
Windows7 und höher
macOS10.15 und höher
Linuxwebkit2gtk 4.0 für Tauri v1 (z.B. Ubuntu 18.04), webkit2gtk 4.1 für Tauri v2 (z.B. Ubuntu 22.04)
iOS/iPadOS9 und höher
Android7 und höher (aktuell 8 und höher)

(README.md:42-52)

Architektur-Komponenten

Die Benutzeroberfläche in Tauri-Apps nutzt tao als Fenster-Verwaltungsbibliothek. Zum Rendern verwendet Tauri WRY, eine Bibliothek mit einheitlicher Schnittstelle zum System-Webview:

  • WKWebView auf macOS und iOS
  • WebView2 auf Windows
  • WebKitGTK auf Linux
  • Android System WebView auf Android

(README.md:12-18)

Plattform-spezifische Native Bindings

Das JavaScript CLI lädt plattformspezifische Native-Bindings basierend auf Betriebssystem und Architektur. Für Windows x64 werden beispielsweise unterschiedliche Bindings für MSVC und GNU geladen (packages/cli/index.js:110-144).

Entwicklungsserver starten

Empfohlener Pfad mit npm

Nach der Projekt-Erstellung und CLI-Installation kann der Entwicklungsserver gestartet werden:

bash
1# In das Projektverzeichnis wechseln
2cd mein-tauri-projekt
3
4# Entwicklungsserver starten
5npm run tauri dev

Dieser Befehl startet sowohl den Frontend-Entwicklungsserver als auch das Rust-Backend im Watch-Modus.

Alternative Paketmanager

PaketmanagerBefehl
pnpmpnpm tauri dev
yarnyarn tauri dev
bunbun tauri dev

(packages/cli/README.md:24-28)

CLI Programmierschnittstelle

Das CLI exportiert eine run-Funktion, die als Promise verwendet werden kann:

javascript
1const { run, logError } = require('@tauri-apps/cli')
2
3run(args, binName).then(result => {
4  // Erfolg
5}).catch(error => {
6  logError(error)
7})

(packages/cli/main.js:5-17)

Build und Produktion

Anwendung erstellen

Für die Erstellung einer produktionsbereiten Anwendung:

bash
1npm run tauri build

Tauri verfügt über einen integrierten App-Bundler, der Bundle-Formate wie .app, .dmg, .deb, .rpm, .AppImage und Windows-Installer (.exe via NSIS, .msi via WiX) erstellt (README.md:30-41).

Ausgabeverzeichnis

Die erstellten Binärdateien befinden sich standardmäßig im Verzeichnis src-tauri/target/release/bundle/. Die genaue Struktur hängt von der Zielplattform ab.

Validierung und Test

Installation überprüfen

Zur Überprüfung der korrekten CLI-Installation:

bash
1npx tauri --version

Erwartete Ausgabe: Versionsnummer des installierten CLI (z.B. 2.10.0 gemäß Binding-Version in packages/cli/index.js:84-86).

Projektstruktur validieren

Eine korrekte Tauri-Projektstruktur enthält mindestens:

  • package.json mit @tauri-apps/cli Abhängigkeit
  • src-tauri/ Verzeichnis mit Cargo.toml
  • src-tauri/tauri.conf.json Konfigurationsdatei
  • Frontend-Quellcode (z.B. src/ oder index.html)

Entwicklungsserver-Test

Nach dem Start von npm run tauri dev sollte:

  1. Ein Browser-Fenster mit der Anwendung erscheinen
  2. Die Konsole keine Kompilierungsfehler anzeigen
  3. Hot-Reload bei Änderungen funktionieren

Häufige Probleme und Lösungen

Problem 1: Native Binding nicht gefunden

Symptom: Fehlermeldung wie Cannot find module './cli.win32-x64-msvc.node'

Ursache: Das plattformspezifische Native-Binding konnte nicht geladen werden. Das CLI versucht mehrere Fallback-Pfade (packages/cli/index.js:67-144).

Lösung:

bash
1# Abhängigkeiten neu installieren
2rm -rf node_modules
3npm install
4
5# Oder mit pnpm
6pnpm store prune && pnpm install

Problem 2: Version-Mismatch der Native Bindings

Symptom: Fehlermeldung Native binding package version mismatch, expected 2.10.0 but got X.X.X

Ursache: Die Version des installierten Native-Binding-Pakets stimmt nicht mit der CLI-Version überein (packages/cli/index.js:84-86).

Lösung:

bash
1# Abhängigkeiten komplett neu installieren
2npm ci
3
4# Oder Umgebungsvariable setzen (für fortgeschrittene Fälle)
5NAPI_RS_ENFORCE_VERSION_CHECK=0 npm run tauri dev

Problem 3: Linux webkit2gtk fehlt

Symptom: Kompilierungsfehler beim Rust-Build mit Verweis auf webkit2gtk

Ursache: Fehlende Systemabhängigkeit auf Linux-Systemen. Tauri v2 benötigt webkit2gtk 4.1 (README.md:42-52).

Lösung (Ubuntu/Debian):

bash
1sudo apt update
2sudo apt install libwebkit2gtk-4.1-dev \
3    build-essential \
4    curl \
5    wget \
6    libssl-dev \
7    libgtk-3-dev \
8    libayatana-appindicator3-dev \
9    librsvg2-dev

Problem 4: Rust nicht installiert

Symptom: Fehler cargo: command not found oder rustc: command not found

Ursache: Rust-Toolchain nicht im System installiert.

Lösung:

bash
1# Rust installieren
2curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
3
4# Terminal neu starten oder:
5source $HOME/.cargo/env

Problem 5: Musl-Erkennung auf Linux

Symptom: Falsches Binary-Format auf Alpine Linux oder anderen Musl-basierten Distributionen

Ursache: Das CLI erkennt automatisch, ob das System Musl oder Glibc verwendet, durch Prüfung von /usr/bin/ldd, Prozess-Report oder ldd --version (packages/cli/index.js:17-65).

Lösung: Bei Problemen kann die Erkennung durch Setzen von Umgebungsvariablen umgangen werden (spezifische Variablen benötigen Bestätigung aus der Dokumentation).

Nächste Schritte

Nach erfolgreicher Einrichtung und Validierung empfiehlt sich die Weiterarbeit mit folgenden Themen:

  1. Konfiguration: Anpassung der tauri.conf.json für projektspezifische Einstellungen wie Fenstergröße, Icons und Sicherheitsrichtlinien.

  2. API-Integration: Nutzung der @tauri-apps/api Package für Kommunikation zwischen Frontend und Rust-Backend (Dokumentation unter README.md:30-41 erwähnt integrierte Features).

  3. Rust-Backend-Entwicklung: Implementierung von Commands in Rust, die vom Frontend aufgerufen werden können.

  4. Bundling und Distribution: Konfiguration der Build-Einstellungen für verschiedene Zielplattformen und Erstellung von Installern.

  5. Erweiterte Features: Integration von System-Tray-Icons, nativen Benachrichtigungen und Self-Updater (nur Desktop) gemäß Feature-Liste in README.md:30-41.

Die vollständige Dokumentation ist unter tauri.app verfügbar (README.md:20-28). Für architektonische Details siehe ARCHITECTURE.md (README.md:12-18).