electrobun  by blackboardsh

Cross-platform desktop app framework for TypeScript

Created 2 years ago
11,230 stars

Top 4.6% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Electrobun streamlines the creation, updating, and distribution of ultra-fast, tiny, cross-platform desktop applications using TypeScript. It targets developers seeking an integrated workflow, leveraging bun for performance and zig for native bindings, resulting in small bundles and efficient updates.

How It Works

Electrobun employs bun for main process execution and webview TypeScript bundling, with native bindings in zig. It emphasizes process isolation between main and webview components via fast, typed RPC. This architecture facilitates small, self-extracting app bundles (~12MB) and minimal updates (~14KB) using bsdiff patching.

Quick Start & Requirements

Initiate projects with npx electrobun init or npm add electrobun. Prerequisites include: macOS: Xcode command line tools, cmake; Windows: VS Build Tools (C++), cmake; Linux: build-essential, cmake, webkit2gtk/GTK dev packages (e.g., sudo apt install build-essential cmake pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev on Ubuntu/Debian). API docs and guides are at https://blackboard.sh/electrobun/.

Highlighted Details

  • Achieves ~12MB self-extracting app bundles (primarily bun runtime).
  • Enables ~14KB app updates via bsdiff patching.
  • Offers a rapid integrated workflow: code in minutes, distribute efficiently.
  • Provides robust main/webview process isolation with fast, type-safe RPC.

Maintenance & Community

Community engagement occurs on Discord. Updates are shared via X (@BlackboardTech, @YoavCodes) and Bluesky (@yoav.codes). Contributions are welcomed through GitHub issues and discussions.

Licensing & Compatibility

The project's license is not explicitly stated in the README, requiring further investigation for adoption, especially for commercial use.

Limitations & Caveats

Official support covers macOS 14+, Windows 11+, and Ubuntu 22.04+. Other Linux distributions rely on community support, potentially impacting stability or feature parity.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
33
Issues (30d)
36
Star History
1,675 stars in the last 30 days

Explore Similar Projects

Starred by Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), Jared Palmer Jared Palmer(SVP at GitHub; Founder of Turborepo; Author of Formik, TSDX), and
2 more.

Valdi by Snapchat

0.1%
16k
Build native cross-platform UIs with TypeScript
Created 5 months ago
Updated 1 day ago
Feedback? Help us improve.