Deno Desktop kann deine Apps um 70 % verkleinern
원제 · Deno Desktop Can Make Your Apps 70% Smaller
핵심 요약
Deno 2.9 reduziert die Größe von Desktop-Anwendungen im Vergleich zu Electron um etwa 70 %, da es auf das obligatorische Ausliefern einer eigenen Chromium-Engine verzichtet.
하이라이트
Deno 2.9 ermöglicht die Erstellung von Desktop-Anwendungen als Single-Binary in reinem TypeScript.
Die Notiz-App-Beispiele zeigen eine Dateigröße von 70 MB für Deno gegenüber 248 MB für Electron.
Deno nutzt standardmäßig die betriebssystemeigene Webview-Engine (Webview 2 unter Windows, Webkit unter MacOS/Linux).
Das optionale 'CEF'-Flag integriert das Chromium Embedded Framework für konsistentes Rendering über alle Plattformen hinweg.
Deno Desktop bietet Kaltstartzeiten von etwa 375 Millisekunden, was mit Electron vergleichbar ist.
Abhängigkeiten unterliegen einem standardmäßigen Mindestalter von 72 Stunden als Sicherheitsmaßnahme für die Supply-Chain.
타임라인
Deno Desktop Einführung und Funktionsweise
Deno 2.9 verfolgt den Ansatz, Desktop-Apps ohne den Ballast der Chromium-Engine auszuliefern. Der Entwicklungsprozess ist vereinfacht, da Deno die zugrundeliegende Projektstruktur selbstständig identifiziert. Änderungen werden über ein Flag sofort in der laufenden App sichtbar gemacht.
- Desktop-Anwendungen werden direkt mit dem Befehl 'deno desktop' aus TypeScript-Dateien erstellt.
- Das Framework erkennt automatisch genutzte Technologien wie Next.js, Svelte oder Remix.
- Ein HMR-Flag ermöglicht Hot Module Reloading während der aktiven Entwicklung.
Native Desktop-APIs und Kommunikation
Die Funktionalität über das Webview hinaus wird durch das globale Deno-Objekt erreicht. Dies erlaubt den Zugriff auf Betriebssystemfunktionen wie Tray-Icons oder Dateisystemoperationen. Die 'bind'-Methode fungiert als direkte Brücke und ersetzt die komplexere IPC-Struktur, die in Electron-Umgebungen üblich ist.
- Das globale Deno-Objekt bietet zur Laufzeit Zugriff auf Fenster-Steuerung, System-Tray und Benachrichtigungen.
- Die 'bind'-Methode vereinfacht die Kommunikation zwischen Backend und Webview-Frontend.
- Native Warnmeldungen und Tray-Icons sind direkt über die API steuerbar.
Rendering-Optionen und Kompilierung
Für das Rendering stehen zwei Modi zur Verfügung: Der Betriebssystem-native Modus schont Ressourcen, während der CEF-Modus Identität im visuellen Auftritt sicherstellt. Da die Installer in Rust erstellt werden, ist eine plattformübergreifende Kompilierung von einem einzelnen Host aus möglich.
- Standardmäßig wird die native Webview-Engine des Betriebssystems zur Darstellung der Benutzeroberfläche genutzt.
- Das 'CEF'-Flag erzwingt das Bündeln von Chromium für ein konsistentes Rendering über Plattformgrenzen hinweg.
- Kompilierung erfolgt direkt in plattformspezifische Formate wie .exe, .dmg oder .appimage, ohne externe Tools.
Performance-Vergleich und Sicherheits-Features
Benchmarks zeigen, dass die 2.9er Version signifikante Verbesserungen beim Speicherverbrauch und der Ausführungsgeschwindigkeit von POST-Anfragen erzielt. Sicherheitsrelevante Neuerungen umfassen eine Wartezeit von 72 Stunden für neue Abhängigkeiten, bevor diese in Projekte eingebunden werden können.
- Die Deno-Binary benötigt ca. 70 % weniger Speicherplatz als ein vergleichbares Electron-Build.
- Kaltstartzeiten liegen bei durchschnittlich 375 Millisekunden.
- Ein implementiertes Mindestalter für Abhängigkeiten schützt standardmäßig vor Supply-Chain-Angriffen.
설명
Deno 2.9 just shipped `deno desktop` a new way to build native desktop apps in pure TypeScript, with no Electron and no bundled Chromium. We build native desktop applications with Deno, use the OS webview and native APIs like BrowserWindow and Tray, cross-compile to macOS, Windows, and Linux, then compare Deno vs Electron on binary size and startup performance to find out if this Electron alternative is ready to ship in 2026. 🔗 Relevant Links Deno release post: https://deno.com/blog/v2.9 Deno desktop docs: https://docs.deno.com/runtime/desktop/ ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack 📌 Chapters:
