Electron-Alternativen für TypeScript-Entwickler
Electron hat Desktop-Apps für Webentwickler zugänglich gemacht, und seine Kosten bei Größe und Speicher haben “Electron alternative” zu einer festen Suchanfrage gemacht. Wenn TypeScript deine Sprache ist, gibt es 2026 vier realistische Wege: bei Electron bleiben, zu Tauri wechseln, Runtime-eingebettete Binaries mit Bun bauen oder mit Perry nativ kompilieren. Sie gehen sehr unterschiedliche Trade-offs ein.
Die vier Ansätze
Electron — die Baseline
Bündelt Chromium und Node.js mit jeder App. Der Vorteil ist ein Jahrzehnt Produktionsreife und ein UI-Stack (HTML/CSS/JS), den dein Team bereits kennt — VS Code, Slack und Discord laufen darauf. Der Nachteil sind die Grundkosten: Hello-World-Installer von rund 80–150 MB, mehrere Chromium-Prozesse und Hunderte MB RAM im Leerlauf. Nur Desktop. Vollständiger Vergleich Perry vs Electron.
Tauri — Web-UI in der System-Webview, Rust-Backend
Tauri behält das Web-Frontend, verzichtet aber auf gebündeltes Chromium: Die UI rendert in der OS-Webview (WKWebView, WebView2, WebKitGTK), sodass Installer im einstelligen MB-Bereich landen. Es ist stabil, gut dokumentiert, und Tauri 2 hat iOS/Android hinzugefügt. Die Kompromisse: Das Backend ist Rust, nicht TypeScript — App-Logik jenseits der UI bedeutet, Rust zu schreiben und eine IPC-Brücke zu überqueren — und das Rendering variiert leicht je Plattform, weil jedes Betriebssystem eine andere Webview mitbringt. Vollständiger Vergleich Perry vs Tauri.
Bun — Single-File-Binaries, keine GUI-Schicht
Leute, die nach “bun electron” suchen, wollen meist Electrons Bequemlichkeit ohne dessen Gewicht. bun build --compile erzeugt ein einzelnes Executable, indem es die Bun-Laufzeitumgebung mit deinem gebündelten TypeScript einbettet — hervorragend für CLIs und Server, mit voller npm-Kompatibilität, weil es buchstäblich die Laufzeitumgebung ist. Aber die Binary ist mit rund 60 MB (macOS arm64) bis 100+ MB (Linux/Windows) recht groß, der Code wird weiterhin JIT-ausgeführt, und Bun hat kein UI-Framework — eine Desktop-App braucht weiterhin Electron, Tauri oder eine Webview-Bibliothek obendrauf. Vollständiger Vergleich Perry vs Bun.
Perry — TypeScript kompiliert zu nativen Widgets
Perry kompiliert TypeScript ahead-of-time zu Maschinencode und rendert die UI über echte Plattform-Widgets — AppKit, UIKit, GTK4, Win32, Android über JNI — ohne Webview und ohne IPC-Brücke. Eine Sprache für UI und Logik, ~330 KB Hello World, 2–5 MB typische Binaries, ~1 ms Startzeit und zehn Ziele einschließlich Mobile, Watch und TV. Der ehrliche Wermutstropfen: Perry ist Pre-1.0, seine UI-API ist ihr eigenes Ding (deklarativ, im SwiftUI-Stil — nicht HTML/CSS), und das Ökosystem ist jung im Vergleich zu Electrons.
Im direkten Vergleich
| Perry | Electron | Tauri | Bun (--compile) | |
|---|---|---|---|---|
| Sprache | TypeScript überall | JS/TS + HTML/CSS | JS/TS-Frontend, Rust-Backend | TypeScript |
| UI-Ansatz | Native Plattform-Widgets | Gebündeltes Chromium | System-Webview | Keine (CLI/Server) |
| Hello-World-Größe | ~330 KB | ~80–150 MB | ~3–10 MB | ~60–116 MB je nach Plattform |
| Ausführung | AOT-Maschinencode | JIT (V8) | JIT (Webview-JS-Engine) + natives Rust | JIT (JavaScriptCore) |
| Speicher im Leerlauf | Zig-MB-Bereich (einzelner nativer Prozess) | Hunderte MB (Multi-Prozess-Chromium) | Niedriger als Electron (OS-Webview) | Laufzeit-typisch |
| Mobile / Watch / TV | iOS, iPadOS, Android, watchOS, tvOS | Nein | iOS, Android (Tauri 2) | Nein |
| Reife | Pre-1.0 | Jahrzehnt+ in Produktion | Stabil (1.x/2.x) | Stabil |
Was ist mit React Native oder Flutter?
Sie kommen in jedem Electron-Thread zur Sprache, beantworten aber eine andere Frage. React Native ist Mobile-First: Dein JavaScript läuft in der Hermes-Engine und steuert native Views über eine Bridge an, und Desktop-Support existiert nur über separate Community-/Microsoft-Forks — es ist kein Drop-in-Ersatz für Electron (Perry vs React Native). Flutter deckt Desktop und Mobile ab, bedeutet aber, TypeScript für Dart zu verlassen, und es malt seine eigenen Widgets, statt die der Plattform zu nutzen. Wenn das Bleiben in TypeScript die Vorgabe ist, bleibt die realistische Desktop-Shortlist bei den vier oben genannten Optionen.
Welche solltest du wählen?
Beim Web-Stack bleiben
Wenn deine UI bereits in React/Vue/Svelte gebaut ist und du heute bewährte Desktop-Distribution brauchst, bleibt Electron die Wahl mit dem geringsten Risiko — du zahlst mit Größe und Speicher. Wenn dich das stört und du dich damit wohlfühlst, das Backend in Rust zu schreiben, gibt dir Tauri das meiste der Web-Stack-Erfahrung bei einem Bruchteil des Fußabdrucks.
Die Webview hinter dir lassen
Wenn du eigentlich TypeScript rein, native App raus willst — eine Sprache, echte Plattform-Widgets, kleine Binaries und Mobile/Watch/TV aus derselben Codebasis — genau das ist die Lücke, die Perry füllen soll, mit Pre-1.0-Reife als Preis des Eintritts. Und wenn du nur eine CLI oder einen Server als einzelne Datei mit null Kompatibilitätsrisiko brauchst, ist Buns --compile die pragmatische Wahl.
Überzeug dich selbst
Installiere Perry und liefere eine native App aus TypeScript aus.