Eigentlich ist Electron besser als sein Ruf
(blog.vaxry.net)- Electron hat den Ruf, einfach nur langsam und ineffizient zu sein, ist in Wirklichkeit aber ein effizientes und leistungsstarkes Tool
- Probleme bei RAM-Nutzung und Speichergröße sind ein allgemeiner Trend moderner Apps und kein exklusives Problem von Electron
- Bei Apps, in denen webtechnologiebasierte Funktionen wichtig sind, etwa bei Streaming-Diensten, ist Electron eher eine natürliche Wahl
- Es ist für schnelle Entwicklung und asynchrones Networking optimiert und dadurch sehr produktiv
- Der Ruf von Electron als langsam kommt vor allem von schlecht gemachten Apps von Unternehmen; gut gebaute Electron-Apps sind schnell genug und absolut brauchbar
Vorurteile gegenüber Electron
- Electron ist im Grunde ein Chromium-Browser, der lokal eine Webseite anzeigt
- Dadurch hat sich die Wahrnehmung verbreitet, es sei langsam, ineffizient und "nicht nativ", tatsächlich stimmt das aber nicht
Effizienz
- Wenn Electron wirklich ineffizient wäre, würde schon der Chromium-Browser selbst nicht ordentlich funktionieren
- Electron bündelt lediglich viele Komponenten zusammen, damit Apps zuverlässig laufen
RAM-Nutzung
- Die Behauptung, "Electron frisst viel RAM", trifft so nicht zu
- Konkrete Messwerte
- Vermilion (Electron-basiert): 215MB
- Dolphin (Qt6/KDE-basiert): 258MB
- Nautilus (GTK4/Libadwaita-basiert): 374MB
- Moderne Apps verbrauchen tendenziell mehr RAM, weil sie immer mehr Funktionen haben; das ist kein ausschließliches Electron-Problem
Speichergröße
- Electron-Apps bündeln viele Abhängigkeiten mit und werden dadurch größer
- Ähnlich wie bei Flatpak oder AppImage erhöht diese Struktur aber auch Portabilität und Stabilität
Geschwindigkeit
- Dass Electron-Apps langsam sind, liegt nicht an Electron selbst, sondern meist daran, dass von Unternehmen entwickelte Apps schlampig gebaut wurden
Fälle, in denen Electron sogar die bessere Wahl ist
DRM-Verarbeitung
- Streaming-Dienste verwenden DRM, was webbasierte Technologien voraussetzt
- Tidal benötigt zum Beispiel Widevine, und rund um Electron gibt es ein Ökosystem, mit dem sich das leicht integrieren lässt
- Auch bei Spotify ist Streaming rechtlich nur über JS-Module möglich
Schnelle Entwicklung
- Typescript und Electron ermöglichen Entwicklern mit Erfahrung in Webtechnologien eine sehr schnelle Entwicklung
- Im Vergleich zu GTK- oder QT-basierten Frameworks sind Webtechnologien bei Zugänglichkeit und Lernaufwand deutlich im Vorteil
Asynchrones Networking
- Bei Apps wie Streaming-Anwendungen, in denen häufig asynchron kommuniziert wird, sind Webtechnologien optimal darauf ausgelegt
Ist Electron für alles geeignet?
- Theoretisch ja, aber für Fälle mit minimalem Ressourcenbedarf, etwa zentrale Desktop-Apps, ist es nicht passend
- Für Apps, die komplex sind, viele Online-Funktionen haben und plattformübergreifend gedacht werden müssen, ist Electron eine logische Wahl
- Wenn die Entwicklungsqualität stimmt, lassen sich auch Electron-Apps schnell und effizient bauen
- Beispiele wie Obsidian oder VS Code zeigen, dass Electron-Apps eine sehr gute Performance liefern können
- Durch die jüngsten Fortschritte bei WASM können Electron-Apps, wenn schwere Aufgaben ausgelagert werden, auch mit traditionellen Desktop-Apps konkurrieren
Fazit
- Die meisten Beschwerden über Electron gehen auf alte Electron-Versionen oder schlecht gemachte Unternehmens-Apps zurück
- Die Vorstellung, "es ist nur eine Browser-Seite und deshalb langsam", ist realitätsfern; moderne Browser liefern eine sehr hohe Performance
16 Kommentare
Das liegt wohl daran, dass man noch kein wirklich gutes Electron-Haus erlebt hat ~
... so klingt es jedenfalls, hahaha
Ich habe Electron auch eher vor 2–3 Jahren benutzt, heutzutage baue ich es aber mit Tauri..
Gefällt mir
Nehmt Tauri. Das hat ein Rust-Backend, und die Integration ist einfacher, als man denkt.
Es gibt nur Behauptungen, aber keinerlei Belege.
Wie dem auch sei, die Entwicklererfahrung ist also besser als bei etwas wie Qt, oder?
Die anderen Punkte kann ich nachvollziehen, aber die Behauptung zum RAM weicht zu sehr von meinen Erfahrungen ab...
Elektron-Anwendungen, die ständig im Hintergrund laufen müssen, sind für mich etwas belastend.
Na ja … es kommt ziemlich häufig vor, dass schon 3–4 geöffnete Electron-Apps wegen Speichermangels ins Straucheln geraten …
Die Angriffsfläche ist viel zu groß, aber es interessiert kaum jemanden, deshalb will ich jetzt die Finger davon lassen.
Ich stimme zu, dass es an sich ein gutes Framework ist, aber weil viele Unternehmen und Startups unter dem Vorwand guter Produktivität auf Performance keine Rücksicht nehmen und einfach drauflos produzieren, lehne ich es erst einmal ab, sobald ich höre, dass etwas mit Electron gebaut wurde.
Obwohl ich einen guten Laptop nutze, kann ich ehrlich gesagt nicht wirklich sagen, dass VS Code schnell ist. Am Ende greife ich entweder lieber zu IntelliJ, das zwar richtig schwergewichtig ist, dafür aber viele Funktionen bietet und bequem ist, oder ich nutze gleich nativ entwickelte IDEs oder Texteditoren. Die waren definitiv schnell und das Nutzungserlebnis war gut.
Es ist wirklich gut, aber wegen der Grundgröße eignet es sich nicht unbedingt für alles..
Electron ist doch richtig gut – wer sagt denn, dass es schlecht ist … wirklich richtig gut.
Probleme wie bei Flatpak oder AppImage scheinen, wenn man zu Windows zurückkehrt, überhaupt nicht relevant zu sein, haha..
Ich finde, Electron selbst ist ein wirklich großartiges Framework. Auch die Entwicklung des Frameworks ist sehr aktiv, und vor allem ist praktisch alles bereits umgesetzt, was in Chromium implementiert wird.
Was die Leute über Electron missverstehen
Vergleich von Tauri und Electron – Performance, Bundle-Größe und die tatsächlichen Trade-offs