Electrobun Documentation - Build ultra fast, tiny, cross-platform desktop apps
Everything you need to build ultra fast, tiny, cross-platform desktop applications with TypeScript.
Quick Start
$bunx electrobun init
import { BrowserWindow } from "electrobun/bun";
const win = new BrowserWindow({ title: "My App", url: "views://mainview/index.html",});Electrobun
Ultra fast and tiny desktop app framework
Build cross-platform desktop applications with TypeScript that are incredibly small and blazingly fast. Electrobun combines the power of native bindings with Bun’s runtime for unprecedented performance.
Native bindings written in C++, ObjC, and Zig
Bun as backend runtime and bundler
System’s native webview as renderer, CEF Optional
Custom bsdiff-based update mechanism
Cross-platform: macOS, Windows, Linux
14MB
Bundle Size
14KB
Update Size
<50ms
Startup Time
100%
Native Feel
Documentation
Getting Started
- Quick StartCreate your first Electrobun app in minutes
- What is Electrobun?Learn about the framework and its benefits
- Hello WorldBuild your first app step by step
- Creating UIBuild beautiful user interfaces
- Bundling & DistributionPackage and distribute your apps
Advanced Guides
- Cross-Platform DevelopmentBuild for macOS, Windows, and Linux
- CompatibilityPlatform compatibility and requirements
- Code SigningSign and notarize your applications
- Architecture OverviewUnderstand Electrobun’s architecture
- Webview Tag ArchitectureHow webviews work in Electrobun
- UpdatesUpdate system and binary patches
Bun APIs
- Bun APIMain process API and lifecycle management
- BrowserWindowNative window management and controls
- BrowserViewCreate and manage webview windows
- WebGPUNative GPU windows and WebGPU integrations
- UtilsFile system and OS utility functions
- Context MenuNative context menus
- Application MenuNative application menu bars
- PathsGlobal paths for resources and views
- TraySystem tray implementation
- UpdaterBuilt-in app update mechanism
- EventsEvent system and handling
Browser APIs
- Electroview ClassInitialize Electrobun APIs in browser
- Webview TagCustom webview HTML element
- Draggable RegionsMake HTML elements draggable
- Global PropertiesBrowser context global properties
- WGPU TagEmbed GPU surfaces in webviews
CLI & Configuration
- Build ConfigurationConfigure your Electrobun builds
- CLI ArgumentsCommand line interface reference
- Bundled AssetsAsset management with views:// schema
- Bundling CEFCEF bundling across platforms
- Application IconsConfigure app icons for all platforms
Community & Support
Join our growing community of developers building the future of desktop applications.
Ready to Get Started?
Follow our Getting Started guide to create your first Electrobun app.