15 Punkte von GN⁺ 2024-11-22 | 5 Kommentare | Auf WhatsApp teilen
  • Electrobun zielt darauf ab, eine vollständige Lösung für das Erstellen, Aktualisieren und Bereitstellen ultraschneller, leichtgewichtiger Cross-Plattform-Desktop-Anwendungen bereitzustellen, die in TypeScript geschrieben sind.
  • Es verwendet bun zum Ausführen des Main-Prozesses, zum Bundling von Webview-TypeScript und enthält native Bindings, die in zig geschrieben sind.
  • Hauptfunktionen

    • TypeScript: Man kann TypeScript für den Main-Prozess und die Webview schreiben und so bequem mit einer einzigen Sprache arbeiten.
    • Schnell: Die Isolierung zwischen Main- und Webview-Prozess gewährleistet Sicherheit und Performance, und schnelle, typisierte RPCs lassen sich leicht implementieren.
    • Klein: Mit einem kleinen, selbstextrahierenden App-Bundle von etwa 12 MB und App-Updates von nur 4 KB kann man häufig deployen und gleichzeitig Bandbreitenkosten senken.
    • Vollständig integriert: Bietet einen vollständig integrierten Workflow, mit dem man in 5 Minuten mit dem Schreiben von Code beginnen und in 10 Minuten deployen kann.

5 Kommentare

 
tsboard 2024-11-27

Je mehr ich Bun benutzt habe, desto besser hat es mir wirklich gefallen. Vor allem wirkt es beeindruckend, dass das Projekt seinem Ziel, schnell zu laufen, bis heute treu geblieben ist. Ich hoffe, dieses Projekt wird erfolgreich.

 
aer0700 2024-11-23

Ist das vielleicht einer der Versuche, bestehende Entwicklungen auf nodejs mit bunjs neu zu schreiben?
Ich habe Bun noch nicht ausprobiert, und ich entwickle bereits mit Node und habe auch nicht vor, das, was ich gebaut habe, auf Bun umzustellen ...
Wie es in zehn Jahren aussieht, weiß man aber nie. Für alle Fälle sollte ich es wohl zumindest einmal ausprobieren.

 
tinywolf 2024-11-23

Wails ist auch ganz brauchbar für kleinere Einsätze.

 
pmc7777 2024-11-22

Es ist schön zu sehen, dass es häufig Versuche gibt, die Tauri ähneln, aber dennoch einen anderen Ansatz verfolgen.

 
GN⁺ 2024-11-22
Hacker-News-Kommentare
  • Electrobun ist Tauri ähnlich, nutzt aber Zig, um die schnellen nativen Teile zu implementieren, und konzentriert sich stärker auf Frontend/UI

    • Das ist ein interessanter Ansatz, erfordert aber einen enormen Arbeitsaufwand
  • Der Entwickler von Electrobun erwähnt, dass sich das Projekt noch in einem frühen Stadium befindet und die Roadmap aktualisiert werden muss

    • Wie Tauri verwendet es die System-Webview und bündelt kein Chromium
    • Wie Electron nutzt es Bun als Main-Prozess, sodass TypeScript im Main- und Browser-Kontext verwendet werden kann
    • Native Bindings, die in C/Objective-C geschrieben sind, werden mit Zig-Wrappern umhüllt und vom Bun-Prozess ausgeführt
    • Es zielt auf Cross-Platform ab, legt aber den Schwerpunkt zunächst auf Stabilität
    • Die CLI kümmert sich um Updates, Code Signing usw. und kann Build-Artefakte erzeugen, die auf S3 oder einen statischen File-Host hochgeladen werden können
    • Über eine in Zig optimierte bsdiff-Implementierung werden automatisch Updates mit einer Größe von 4 KB erzeugt
    • Ein eigener, in Zig geschriebener Self-Extract-Mechanismus mit Zstd minimiert die anfängliche Download-Größe
    • Es bietet einen verschlüsselten RPC-Mechanismus, bei dem zwischen Bun- und Browser-Prozess nur Methodensignaturen und Handler geschrieben werden müssen
    • Über eine OOPIF-Implementierung lassen sich performante und einfach nutzbare isolierte Browser-Kontexte als HTML-Element <electrobun-webview> einbetten
  • Es gibt die Frage, wie betriebssystemspezifische Funktionen in reinem TypeScript verwaltet werden und welche Unterschiede es bei Größe und Geschwindigkeit im Vergleich zu Tauri gibt

  • Es wird nach der Rendering-Engine von Electrobun gefragt; der Projektname deutet auf Electron hin, wird aber nicht erwähnt

    • Die Electrobun-Playground-App ist 50,4 MB groß, wovon der Großteil auf die Bun-Runtime entfällt
  • Es gibt die Meinung, dass es spannend ist, das Wachstum von Electrobun zu beobachten; man würde nicht sofort einsteigen, hält es aber für ein großartiges Projekt

  • Es gibt die Ansicht, Electrobun sei Electron, bei dem Node.js durch Bun und Chromium durch WebView ersetzt wurde

  • Es gibt die Meinung, dass mehr Alternativen zum Erstellen von Cross-Platform-Apps immer besser sind

  • Es wird gefragt, ob Electrobun einfach ein weiteres Webview-basiertes Framework wie NeutralinoJS, Electrino oder DeskGap ist und welchen Vorteil es außer der Nutzung von Bun statt Node gibt

    • Für wirklich leichtgewichtige Cross-Platform-Desktop-Apps wird vorgeschlagen, native Frameworks ohne Webview wie Qt, GTK, wxWidgets oder FLTK 1.4 zu verwenden
  • Es gibt Bedenken hinsichtlich möglicher Performance-Probleme durch die Isolation zwischen Main-Prozess und Webview-Prozess

    • Zum Teilen von Daten muss eine IPC-Bridge verwendet werden, und dabei müssen alle geteilten Daten kopiert werden
    • Wenn man zum Beispiel mit ffmpeg Videos dekodiert, muss vor dem Rendern jedes Frames das dekodierte Bild kopiert werden
  • Die Nutzung von Bun als Electron-Alternative wird begrüßt, aber besser als Electron zu sein gilt als niedrige Messlatte

    • Es wird erwähnt, dass man darauf wartet, dass Bun auf FreeBSD läuft, und dass dies auf der Weihnachtswunschliste steht