Zurück zu den Vergleichen
Plattformübergreifendes UI

Perry vs Tauri

Tauri ist ein Framework zum Bauen plattformübergreifender Desktop- (und zunehmend Mobile-) Apps mit einem Rust-Backend und einem Frontend, das im eingebauten Webview des Betriebssystems läuft — WebView2 auf Windows, WKWebView auf macOS, WebKitGTK auf Linux. Tauri-Apps sind dramatisch kleiner als Electron, weil das OS-Webview nicht gebündelt wird. Perry geht einen anderen Weg: gar kein Webview, kein HTML-Rendering, einfach TypeScript, das zu nativem Maschinencode kompiliert wird und echte Plattform-Widgets ansteuert.

Was ist Tauri?

Tauri ist ein in Rust geschriebenes Open-Source-Framework, mit dem du plattformübergreifende Anwendungen mit einem Web-Frontend (jedes Framework — React, Vue, Svelte etc.) und einem Rust-Backend bauen kannst. Statt Chromium zu bündeln, nutzt Tauri das eingebaute Webview des Systems, was App-Installer auf Linux/Windows/macOS im einstelligen MB-Bereich hält. Tauri 2 hat Mobile-Unterstützung (iOS und Android) hinzugefügt. Das Frontend wird vom System-Webview als HTML/CSS/JS gerendert; die Kommunikation mit dem Rust-Backend läuft über eine IPC-Bridge.

Was ist Perry?

Perry kompiliert TypeScript direkt über LLVM zu nativem Maschinencode. Die UI-Schicht (perry/ui) ist eine deklarative API im SwiftUI-Stil, die auf native Plattform-Widgets abbildet — kein HTML, das von einem Webview gerendert wird. In Perry geschriebene Apps tragen keine JavaScript-Engine mit sich, laufen nicht in WebKit/WebView2 und brauchen keine IPC-Bridge zwischen UI und Logik. Perry zielt auf 10 Plattformen, darunter Mobile, Watch und TV.

Direktvergleich

FeaturePerryTauri
UI-RenderingNative Plattform-Widgets (AppKit, UIKit, GTK4, Win32, JNI)System-Webview (WKWebView, WebView2, WebKitGTK) — HTML/CSS/JS
Frontend-SpracheTypeScript (deklarative Widget-API)HTML/CSS/JS über jedes Web-Framework (React, Vue etc.)
Backend-SpracheTypeScriptRust
IPC zwischen UI und LogikKeine — ein einzelner Prozess, direkte AufrufeErforderlich (UI im Webview, Logik im Rust-Prozess)
Hello-World-Installer~330 KB~3–10 MB (Webview wird vom OS bereitgestellt)
Mobile (iOS, Android)Ja — native UIJa — webview-basiert (Tauri 2)
Watch / TVwatchOS, tvOS, Wear OSNein
WebAssembly-TargetJa (perry/ui über DOM-Bridge)Nicht zutreffend (Tauri selbst nutzt Webview nativ)
ReifePre-1.0Stabil (1.x / 2.x)

Wo Perry gewinnt

  • +Wirklich native UI — Perry rendert kein HTML, sondern steuert echte Plattform-Widgets, sodass Apps native Scroll-Physik, Fokus, Barrierefreiheit, IME und OS-Theming kostenlos erben.
  • +Kleineres Hello-World (~330 KB vs Tauris einstellige MB) und keine System-Webview-Abhängigkeit zur Laufzeit.
  • +Eine Sprache, ein Prozess. Die gesamte App — UI und Logik — ist TypeScript, ohne IPC-Bridge, die designt oder debuggt werden müsste.
  • +watchOS, tvOS, Wear OS und ein vollständiges Web/JS-Target mit echten nativen Kompilierungs-Pipelines, nicht gebündelte Webviews.
  • +Keine Webview-Verhaltensunterschiede zwischen Plattformen. Tauri erbt die Eigenheiten von WKWebView vs WebView2 vs WebKitGTK; Perry wählt auf jedem OS den nativen Widget-Pfad.
  • +Compute-Performance ist AOT-nativ, nicht Webview-JIT. Perry führt in Compute-Mikrobenchmarks unter abgestimmten Bedingungen auf M1 Max (perry/benchmarks).

Wo Tauri gewinnt

  • +Reifes, stabiles Framework mit aktiver 2.x-Linie und großer Community.
  • +Frontend-Flexibilität — nutze jedes Web-Framework (React, Vue, Svelte, Solid etc.), das du bereits kennst.
  • +Kleinere Installer als Electron, weil Tauri sich auf das vom OS bereitgestellte Webview stützt, statt Chromium zu bündeln.
  • +Das Rust-Backend ist ideal, wenn du Systemarbeit zu erledigen hast (Dateisystem, native APIs) und dort Compile-Time-Garantien willst.
  • +Webview-Rendering bedeutet, dass CSS/HTML-Iterationsgeschwindigkeit und DevTools so funktionieren, wie man es aus der Web-Entwicklung erwartet.
  • +Etablierte Paketierung, Code-Signierung und Updater-Pipeline.

Wann Perry wählen

Wähle Perry, wenn du wirklich native UI willst (kein HTML in einem Webview gerendert), kleine native Binaries ohne Webview-Abhängigkeit, eine TypeScript-Codebasis über Desktop + Mobile + Watch + TV, oder Compile-Time-validierten plattformübergreifenden Widget-Code.

Wann Tauri wählen

Wähle Tauri, wenn du ein bestehendes oder geplantes Web-Frontend hast, eine kleine, Rust-gestützte Desktop-App mit kleinem Installer willst, mit HTML/CSS für UI zufrieden bist oder das breite Ökosystem an Web-Frameworks und Tools nutzen willst.

Fazit

Tauri ist ein deutlich besseres Electron — derselbe Web-Tech-Ansatz, dramatisch kleinerer Installer, weil das OS-Webview nicht gebündelt wird. Aber es ist immer noch eine webview-basierte Architektur, was HTML/CSS/JS-Rendering und eine IPC-Bridge bedeutet. Perry nimmt eine andere Position ein: gar kein Webview, native Plattform-Widgets, ein einzelner Prozess. Wenn du den Web-Stack mit kleineren Binaries als Electron behalten willst, ist Tauri die richtige Antwort. Wenn du den Web-Stack zugunsten nativer Widgets in TypeScript hinter dir lassen willst, ist es Perry.

Perry ausprobieren

Kompiliere dein TypeScript noch heute zu nativem Code.

Loslegen