Krypto-Wallets

Wie Slack, Notion und VSCode die Leistung von Electron-Apps revolutionierten

Krypto-Wallets
Slack, Notion, and VSCode Improved Electron App Performance

Erfahren Sie, wie große Softwareprojekte wie Slack, Notion und VSCode mit gezielten Optimierungen die Performance von Electron-Anwendungen deutlich verbessert haben und welche Techniken Entwickler heute nutzen, um native App-Erlebnisse auch in Electron zu ermöglichen.

Electron hat sich in den letzten Jahren als eine der beliebtesten Plattformen für die Entwicklung plattformübergreifender Desktop-Anwendungen etabliert. Trotz seiner Vorteile, wie der Möglichkeit, mit Webtechnologien native Apps für Windows, macOS und Linux zu erstellen, wurde Electron oft wegen seiner vergleichsweise schlechten Performance kritisiert. Dabei liegen die Hauptprobleme meist in langen Startup-Zeiten und einer trägen Benutzerinteraktion, die nicht mit nativen Anwendungen mithalten können. Doch große Projekte wie Slack, Notion und Visual Studio Code (VSCode) zeigen eindrucksvoll, wie man diese Herausforderungen bewältigen kann und dabei beeindruckende Leistungssteigerungen erzielt. Dabei setzen sie auf eine Kombination aus modernen Entwicklungstools, fortgeschrittenen Techniken zur Code-Optimierung, sowie auf innovative Ansätze für Performance-Messung und -Überwachung.

Ein zentraler Engpass bei vielen Electron-Apps ist der Einsatz der require()-Funktion. Diese Funktion ist synchron, rekursiv und blockiert sowohl den Haupt- als auch den Renderer-Thread. Das hat besonders bei großen Projekten wie Atom — einer früheren Electron-App — zu spürbar langsamen Startzeiten geführt, da das Laden zahlreicher Module den Initialisierungsprozess stark verlängerte. Die Lösung ist der Einsatz von modernen Bundlern wie Webpack, esbuild oder Vite, die den Code bereits vor der Ausführung bündeln und damit den Overhead von require() drastisch reduzieren. Ein sinnvoller Ansatz ist dabei, für jede Renderer-Prozess-Instanz genau einen Bundle zu erstellen, sodass die Anzahl der zu ladenden Dateien minimal gehalten wird.

Neben der Bündelung spielt die Strategie des verzögerten Imports eine wichtige Rolle. Hierbei werden nicht-kritische Imports erst dann geladen, wenn sie tatsächlich benötigt werden. Mit Techniken wie route-basiertem Code-Splitting und asynchronen Imports wird vermieden, dass große Bibliotheken und Komponenten unnötigerweise beim Start geladen werden. Dies hat bei der Beratung von Electron-Projekten schon Startup-Zeiten von rund zehn Sekunden auf unter drei Sekunden reduziert. React-Anwendungen profitieren besonders von der Nutzung der React.

lazy-Funktion kombiniert mit Suspense, um Komponenten bei Bedarf nachzuladen, wodurch der initiale Bundle besonders schlank bleibt. Noch weiter gehen Projekte, die rechnerisch intensive Aufgaben in WebAssembly (WASM) auslagern. Statt in JavaScript aufwändige Berechnungen durchzuführen, können so voroptimierte Module genutzt werden – was insbesondere bei datenintensiven Anwendungen wie Notion, Figma oder Signal zu einer deutlich besseren und konsistenteren Performance führt. Notion etwa hat SQLite in WebAssembly kompiliert, um schnelle Datenbankabfragen zu gewährleisten, während Figma komplett in WebAssembly geschrieben wurde. Ein weiteres probate Mittel zur Startup-Optimierung ist die Nutzung sogenannter V8 Snapshots.

Diese erlauben es, eine vorinitialisierte Speicherabbildung an die JavaScript-Engine zu übergeben, wodurch initiale Verbrauchszeiten für das Setup von Abhängigkeiten und Frameworks wegfallen. Sowohl das Team hinter Atom als auch das von VSCode konnten so ihre Ladezeiten signifikant verkürzen und mit Snapshotting einen immer noch unterschätzten Hebel der Performance-Verbesserung nutzen. Doch Performance darf in modernen Anwendungen nicht hinter verschlossenen Türen bleiben. Das Messen und Monitoring der Performance im Produktivbetrieb ist unverzichtbar, um echte Flaschenhälse frühzeitig zu erkennen und gezielt optimieren zu können. Während klassische Web-Vitals nur begrenzte Aussagekraft für Desktop-Electron-Anwendungen besitzen, sind speziell auf Interaktion ausgerichtete Metriken wie Klicklatenz, Tastenanschlagslatenz, Scroll-Latenz und „Time to Feature Paint“ von entscheidender Bedeutung.

Firmen wie Slack haben dafür eigene, interne Performance-Utility-Objekte implementiert, welche neben Metriken auch CPU- und Speicherverbrauch überwachen und so den Status der App laufend messen. VSCode setzt beispielsweise auf Input-Latenz-Messungen, um Regressionen in der Tippgeschwindigkeit zwischen Releases rechtzeitig zu entdecken. Die Profilierung von JavaScript-Produkten direkt auf Endgeräten ist ein weiterer Fortschritt in Sachen Performance-Engineering. Ursprünglich von Facebook für große Webanwendungen entwickelt und inzwischen auch bei Microsoft, Dropbox, Slack und Notion im Einsatz, ermöglicht diese Technik eine datengetriebene Analyse der langsamsten Stellen des Produktivcodes. Dabei werden flamegraphs erstellt, die sichtbar machen, welche Funktionen die meiste Rechenzeit benötigen und wo Engpässe entstehen.

Diese Daten ermöglichen es, Performance-Regressionsursachen exakt einzugrenzen und innerhalb weniger Wochen Behebungen auszuliefern – was Notion eindrucksvoll bewiesen hat. So konnten sie ihre Ladezeiten um teils 15-20 Prozent, die Tipp-Latenz um 15 Prozent reduzieren und Regressionen mit dem Tool Palette viel schneller identifizieren als mit herkömmlichen Methoden. Performance-Optimierung in Electron-Apps ist kein leichtes Unterfangen, aber mit den richtigen Strategien und Tools lässt sich die Kluft zwischen nativen und Electron-basierten Anwendungen deutlich verringern. Slack, Notion und VSCode leisten hier vorbildliche Pionierarbeit, die zeigt, wie Leistung durch schon beim Build-Prozess beginnende Bundling-Konzepte, verzögertes und dynamisches Laden, Einsatz von WebAssembly, V8 Snapshots und fortschrittliches Monitoring erheblich verbessert werden kann. Letztlich entscheidet ein tiefes Verständnis der Anwendung, der eingesetzten Ressourcen und der Nutzer-Interaktionen darüber, wie gut eine Electron-App performt.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Show HN: I made "Who's Hiring?" searchable using GPT and Metabase
Mittwoch, 02. Juli 2025. Wie GPT und Metabase die Jobsuche bei Hacker News revolutionieren

Die Kombination von GPT und Metabase ermöglicht eine innovative und effektive Durchsuchbarkeit der populären 'Who's Hiring. '-Threads bei Hacker News.

Judge scolds Tim Burke's lawyer after AI produces error-filled court motion
Mittwoch, 02. Juli 2025. Richter tadelt Anwalt von Tim Burke nach fehlerhaftem Gerichtsantrag durch KI-Fehler

Ein Richter in Tampa kritisiert scharf den Anwalt von Tim Burke wegen eines fehlerbehafteten Antrags, der mithilfe von KI-Tools erstellt wurde. Der Vorfall verdeutlicht die Risiken eines unkritischen Einsatzes künstlicher Intelligenz im juristischen Bereich und zeigt die Notwendigkeit menschlicher Überprüfung und fachlicher Genauigkeit bei rechtlichen Dokumenten auf.

Measuring General Intelligence with Generated Games
Mittwoch, 02. Juli 2025. Die Messung allgemeiner Intelligenz durch generierte Spiele: Ein neuer Weg in der KI-Forschung

Die Bewertung der allgemeinen Intelligenz von Sprachmodellen stellt eine der größten Herausforderungen der modernen künstlichen Intelligenz dar. Ein innovativer Ansatz nutzt generierte Spiele, um die Fähigkeiten von Modellen über statische Tests hinaus zu messen und eröffnet damit neue Perspektiven in der KI-Benchmarking-Forschung.

Paris Agreement target won't protect polar ice sheets, scientists warn
Mittwoch, 02. Juli 2025. Das Pariser Abkommen reicht nicht aus: Warum die Polkappen weiter schmelzen werden

Eine neue wissenschaftliche Studie zeigt, dass das Pariser Klimaabkommen mit seinem Ziel von 1,5 °C Erwärmung die Polkappen nicht ausreichend schützt. Experten fordern eine ambitioniertere Klimapolitik, um den gefährlichen Anstieg des Meeresspiegels und das Abschmelzen der Gletscher zu verhindern.

Quest Link for macOS
Mittwoch, 02. Juli 2025. Quest Link für macOS: Revolutionäre VR-Erfahrung auf Apple-Computern

Entdecken Sie, wie Quest Link für macOS die Nutzung von Oculus Quest VR-Headsets auf Apple-Computern ermöglicht und welche Vorteile, Anforderungen sowie praktische Tipps für ein optimales VR-Erlebnis berücksichtigt werden sollten.

It's official: Starbase is now an incorporated city in Texas
Mittwoch, 02. Juli 2025. Starbase: Die offizielle Gründung der neuen Stadt in Texas und ihre Bedeutung für die Raumfahrt

Die Ernennung von Starbase zur offiziellen Stadt in Texas markiert einen bedeutenden Meilenstein für die Raumfahrtindustrie und die lokale Gemeinschaft. Dieser Schritt fördert Innovationen, wirtschaftliches Wachstum und zeigt die Zukunftsvision von SpaceX und Texas auf.

Werner's Nomenclature of Colours
Mittwoch, 02. Juli 2025. Werner's Nomenklatur der Farben: Ein historischer Leitfaden zur präzisen Farbbestimmung

Werner's Nomenklatur der Farben ist ein wegweisendes Werk aus dem 19. Jahrhundert, das eine standardisierte Methode zur Beschreibung und Klassifizierung von Farben bietet.