Skip to content
Cross Platform Framework Vergleich

Cross Platform Framework Vergleich

Gesetzt

  • Wir brauchen ein Framework für Cross Platform weil native Entwicklung für die einzelnen Plattformen ist zu aufwendig.
  • Wir brauchen HTML+CSS, weil hier die Erfahrung liegt.
  • Wir brauchen Linux+Windows (mac, Android, ios?) Apps.

Überblick

 ElectronTauriWailsElectrobunFlutterNeutralinoKommentar
Allgemeiner Kommentaram längsten beständiges Framework, bündelt Chromium direkt mit der App, Vscode, Discord z.B. nutzen esbündelt keinen Browser in der App sondern nutzt den Standardbrowser des Systemsähnlich zu Tauri aber mit Go anstatt Rust als BackendNutzt Bun anstatt Node für die JS Laufzeitumgebung und Zig für native Bindings (also Kommunikation mit dem OS, glaube ich)kein HTML, CSS, deswegen aus der Bewertungsoll mit jeder Backendsprache funktionieren, also auch C#, bündelt Chrome nicht
Backend languageNode.js / JSRustGoJS + Zig bindings (die Sprache der Bindings ist glaube ich recht egal für uns)egal
Matrix SDKmatrix-js-sdk stablematrix-rust-sdk stablemautrix-go stablematrix-js-sdkstablemöglich: Kotlin, Python, …, C# ist beta und seit 2 Jahren nicht geupdatedHier sollten wir wirklich auspassen was wir nehmen, weil das uns direkt einschränkt bei dem was wir umsetzen können oder wir andernfalls die SDK selbst erweitern müssen, Rust ist der aktuell beste Standard , danach JS
Bundle size~100 MB+ (KI)~5–10 MB (KI)kleinkleinkleinkleinIch verstehe hier die Aufregung vieler nicht. Ja, 10 MB anstatt 100 MB ist schön aber total egal wenn man sich die aktuellen Speicherplätze auf PC oder Mobile ansieht.
RAM usage (idle)200–300 MB30–40 MBHier kann ich die Diskussion deutlich eher nachvollziehen als bei der Bundlegröße.
Startup time1–2 sec<0.5 sec
Rendering consistency✅ Always Chromium⚠️ OS-dependent⚠️ OS-dependent⚠️ OS-dependent⚠️ OS-dependent⚠️ OS-dependentDie Debatte hier drum ist super angespannt. Wir sollten auf jeden Fall testen wie stark die Unterschiede sind. Davon abgesehen, scheint die Zukunft (bzw. Aktuelle Entwicklungen) eher in Richtung OS-dependent zu gehen, aber ob jetzt die richtige Zeit ist darauf zu setzen ist schwer zu sagen.
Ecosystem maturityVery mature (121k stars Github)Growing fast (105k stars Github)33.6k11k8.4k

Test

Ich teste meine Favoriten Electron und Tauri in dem ich PeerDrop portiere (HTML+CSS, aber ohne Funktionalität). Ich möchte vor allem gucken, wie gut die Unterstützung für modernere CSS Features ist, wie sehr die sichtbaren Unterschiede zwischen den Plattformen im Vergleich ist (gibt es Unterschiede in der Darstellung oder in der Benutzung) und wie viel RAM verbraucht wird.

Getestet wird mit:

  • meinem Lenovo Laptop (32 GB)
  • meiner NixOS Config, Commit xxx
  • PeerDrop Version 1.2.1

Resultate