# ElectroBun ElectroBun is a framework for building cross-platform desktop applications with [[TypeScript]]. Think of it as a Rust-less [[Tauri]]: it uses [[Bun]] as the runtime/bundler, Zig for native bindings, and the system's native webview for rendering — so you only write TypeScript. Optional CEF (Chromium Embedded Framework) support for when you need a consistent cross-platform webview. ## Performance - **14MB** bundle size - **14KB** update size - **<50ms** startup time - **100%** native feel ## Key Features - **Bun-powered**: Bun handles both the main process and webview TypeScript bundling - **Native webview**: Uses the system webview by default, optional CEF for cross-platform consistency - **Typed RPC**: Custom encrypted RPC mechanism between Bun and browser processes - **OOPIF implementation**: Embed isolated browser contexts with `<electrobun-webview>` HTML elements - **Built-in updater**: Custom bsdiff-based update mechanism (14KB updates) - **Code signing & notarization**: Built-in support across platforms - **System tray, menus, draggable regions**: Full native desktop APIs ## Architecture - **Main process**: Bun runtime - **Native bindings**: C++, Objective-C, Zig - **Rendering**: System native webview or CEF - **Bundler**: Bun ## APIs - BrowserWindow, BrowserView - Application Menu, Context Menu - Tray - Updater - Events system - Draggable regions ## Installation ```bash bunx electrobun init ``` ## Platform Support macOS, Windows, Linux. ## References - GitHub: https://github.com/blackboardsh/electrobun - Docs: https://blackboard.sh/electrobun/docs/ ## Related - [[Tauri]] - [[Electron]] - [[Bun]] - [[TypeScript]] - [[Desktop Applications]]