Desktop-Apps mit Rust und Tauri: bei den nativen Funktionen beginnen

Geschrieben von

Tauri kommt infrage, wenn eine Weboberfläche Desktop-Funktionen benötigt. Entscheidend ist, auf welche Dateien, Geräte und Betriebssystemaktionen die Anwendung zugreifen muss.

Veröffentlicht am

Desktop-Apps mit Rust und Tauri: bei den nativen Funktionen beginnen

Aktualisiert

Wo läuft welcher Teil?

Tauri verbindet eine Weboberfläche mit nativem Anwendungscode. Die Architekturdokumentation beschreibt diese Trennung. Vor der Wahl einer Frontend-Bibliothek würde ich Darstellung und privilegierte Aufgaben voneinander abgrenzen.

Ein Beispiel ist ein Werkzeug, das einen Ordner mit Rechnungen liest und einen lokalen Export erzeugt. Die Oberfläche übernimmt Auswahl, Fortschritt und Fehlermeldungen. Ein genau begrenzter nativer Befehl führt den erlaubten Dateizugriff aus. Ein allgemeiner Befehl, der beliebigen Text aus einem Eingabefeld ausführt, wäre dafür die falsche Schnittstelle.

Eine begrenzte native Schnittstelle
Die Oberfläche ruft einen erlaubten Befehl auf, Rust prüft die Eingabe und liefert ein strukturiertes Ergebnis zurück.

Berechtigungen vor der Umsetzung festlegen

Tauris Capability-System regelt den Zugriff auf Befehle für Fenster und Webviews. Daneben bleibt die Eingabeprüfung im eigenen Rust-Code notwendig. Auch ein erlaubter Befehl muss ungültige Daten ablehnen.

Beim Rechnungsbeispiel würde ich eine abgebrochene Dateiauswahl, einen fehlenden Ordner, eine unlesbare Datei und ein nicht verfügbares Exportziel testen. Die Oberfläche sollte einen erneuten Versuch ermöglichen und die fehlgeschlagene Aktion benennen.

Bereich Sinnvoller Test
Dateien Nur den ausgewählten Ort lesen
Lange Aufgabe Fortschritt und Abbruch behandeln
Netzwerk Timeout ohne doppelte Verarbeitung beheben
Lokale Daten Bestehende Datensätze beim Update erhalten
Fehler Hilfreiche Meldung ohne vertrauliche Daten

Installation und Updates gehören zur Lieferung

Die Distributionsanleitung behandelt Pakete und Signierung je Plattform. Planen Sie Zeit für die tatsächlich unterstützten Systeme ein. Ein erfolgreicher Entwicklungsbuild auf einem Rechner ist kein Abnahmetest für alle Plattformen.

Installieren Sie einen Release-Build mit einem frischen Benutzerkonto. Starten Sie ihn ohne Entwicklungswerkzeuge und prüfen Sie ein Update mit vorhandenen Daten. Falls Startzeit, Speicher oder Paketgröße wichtig sind, messen Sie diese Werte an der fertigen Anwendung. Pauschale Leistungsvorteile würde ich vorher nicht versprechen.

Wann der Browser ausreicht

Für gemeinsame Konten, zentrale Daten und Zugriff per Link kann eine Webanwendung einfacher sein. Sind lokale Dateien, Offline-Arbeit oder Systemintegration unverzichtbar, sollte zuerst diese native Funktion als Prototyp entstehen. , bevor wir den Stack auswählen

Sprechen wir darüber

Lass uns reden

Erzähl mir, was du vorhast. Ich antworte meist innerhalb eines Arbeitstages.