# blackboardsh/electrobun

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/blackboardsh-electrobun).**

5,534 stars · 91 forks · C++ · mit

## Links

- GitHub: https://github.com/blackboardsh/electrobun
- Homepage: http://blackboard.sh/electrobun
- awesome-repositories: https://awesome-repositories.com/repository/blackboardsh-electrobun.md

## Description

Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop apps. It provides a TypeScript-based runtime and a native system webview to create interfaces that integrate embedded browser views with host-process logic.

The project features a native GPU integration layer with direct FFI bindings, allowing for high-performance GPU surfaces and compute workloads to run within a desktop application. It also includes an inter-process communication bridge using a typed RPC system to exchange data and execute functions between the native backend and the webview frontend.

The framework covers a broad set of capabilities including native system integration for file management and system tray orchestration, as well as a cross-platform build pipeline for bundling, signing, and distributing binaries. It further supports local AI model integration for managing open weight models on a local device.

## Tags

### Software Engineering & Architecture

- [Cross-Platform Desktop Development](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/application-targets-domains/cross-platform-desktop-development.md) — Framework for building native desktop applications for multiple operating systems using a single codebase.
- [Webview-Based](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/cross-platform-desktop-frameworks/webview-based.md) — Provides a GUI toolkit that integrates native system webviews with host-process logic for desktop interfaces.
- [Inter-Process Communication Bridges](https://awesome-repositories.com/f/software-engineering-architecture/inter-process-communication-bridges.md) — Implements a typed RPC bridge for secure data exchange between the native backend and webview frontend.
- [Process Isolation Architectures](https://awesome-repositories.com/f/software-engineering-architecture/process-isolation-architectures.md) — Renders web content in separate OS processes with distinct session partitions to ensure security and performance.
- [RPC-Disabled Sandboxing](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/cross-platform-desktop-frameworks/webview-based/rpc-disabled-sandboxing.md) — Allows securing untrusted third-party content by disabling RPC communication within a webview sandbox. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/electrobun-webview-tag))
- [Incremental Update Chains](https://awesome-repositories.com/f/software-engineering-architecture/incremental-update-chains.md) — Generates small binary difference files between versions to reduce download sizes for updates. ([source](https://docs.electrobunny.ai/electrobun/guides/bundling-and-distribution))
- [GPU Rendering and Compute APIs](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/frontend-rendering-loading/rendering-optimizations/cross-platform-rendering/gpu-rendering-and-compute-apis.md) — Provides direct FFI bindings to a GPU C API for low-level hardware control and compute tasks. ([source](https://docs.electrobunny.ai/electrobun/apis/webgpu))
- [Plugin Systems](https://awesome-repositories.com/f/software-engineering-architecture/plugin-systems.md) — Implements a plugin system to add custom capabilities and modify the core behavior of the environment. ([source](https://blackboard.sh/colab/))

### Web Development

- [Desktop Application Frameworks](https://awesome-repositories.com/f/web-development/desktop-application-frameworks.md) — Provides a complete framework for building cross-platform desktop applications using web technologies and a TypeScript runtime.
- [Webview Rendering Engines](https://awesome-repositories.com/f/web-development/webview-rendering-engines.md) — Embeds a specific version of a rendering engine to ensure consistent behavior across different operating systems. ([source](https://docs.electrobunny.ai/electrobun/apis/bundling-cef/))
- [TypeScript Asset Pipelines](https://awesome-repositories.com/f/web-development/typescript-asset-pipelines.md) — Transpiles source files into JavaScript and serves them via a custom internal protocol. ([source](https://docs.electrobunny.ai/electrobun/guides/creating-ui))

### Development Tools & Productivity

- [Secure Asset Mapping](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-performance-optimization/build-optimization-tools/bundle-optimizers/asset-bundling/secure-asset-mapping.md) — Bundles static files and references them via a dedicated schema to ensure secure access. ([source](https://docs.electrobunny.ai/electrobun/apis/bundled-assets/))
- [Cross-Platform Build Pipelines](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-pipelines.md) — Ships an automated pipeline for bundling, signing, and distributing native binaries across multiple desktop platforms.
- [Build Lifecycle Automators](https://awesome-repositories.com/f/development-tools-productivity/build-lifecycle-automators.md) — Executes custom scripts at specific bundling stages to validate environments, transform code, or notify teams. ([source](https://docs.electrobunny.ai/electrobun/guides/bundling-and-distribution))
- [Build Artifact Generators](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-observability-metadata/build-observability-and-diagnostics/build-artifact-generators.md) — Bundles code, applies digital signatures, and generates distribution files via a command line interface. ([source](https://docs.electrobunny.ai/electrobun/guides/updates/))
- [System Tray Managers](https://awesome-repositories.com/f/development-tools-productivity/system-tray-managers.md) — Creates and manages system tray icons and menus to trigger actions from the taskbar. ([source](https://docs.electrobunny.ai/electrobun/apis/tray))

### DevOps & Infrastructure

- [Self-Contained Bundles](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-applications/self-contained-bundles.md) — Produces optimized, compressed, and self-extracting application bundles ready for distribution. ([source](https://docs.electrobunny.ai/electrobun/guides/bundling-and-distribution))
- [Build Configuration Management](https://awesome-repositories.com/f/devops-infrastructure/build-configuration-management.md) — Manages build settings, assets, and platform-specific icons through configuration files and a CLI. ([source](https://docs.electrobunny.ai/electrobun/))
- [Cross-Platform Code Signing](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/automation-and-tooling/deployment-tooling/cross-platform-code-signing.md) — Authenticates with developer credentials to sign and notarize macOS application binaries and self-extractors. ([source](https://docs.electrobunny.ai/electrobun/guides/code-signing/))
- [Resource Archiving](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/execution-platforms-and-targets/deployment-targets/node-js-runtimes/standalone-application-packaging/resource-archiving.md) — Combines multiple application files into a single archive to improve access speed and security. ([source](https://docs.electrobunny.ai/electrobun/apis/cli/build-configuration/))
- [Binary Delta Generators](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/binary-and-source-installation/remote-binary-updaters/binary-delta-generators.md) — Calculates and applies byte-level differences between software versions to deliver incremental binary updates.
- [Distribution Artifact Generation](https://awesome-repositories.com/f/devops-infrastructure/deployment-platforms/deployment-artifact-specifications/distribution-artifact-generation.md) — Produces deployable files and metadata required to host an application and its updates on a server. ([source](https://docs.electrobunny.ai/electrobun/guides/architecture/overview))
- [Application Update Managers](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/application-update-managers.md) — Packages apps into compressed bundles and delivers incremental binary patches to keep software current.

### Graphics & Multimedia

- [GPU-Accelerated UI Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering.md) — Integrates native GPU surfaces and runs compute workloads directly within the desktop application interface.
- [GPU Surface Embedding](https://awesome-repositories.com/f/graphics-multimedia/gpu-surface-embedding.md) — Provides the ability to render high-performance native GPU surfaces directly within the webview interface. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/electrobun-wgpu-tag))
- [Native GPU Integration Layers](https://awesome-repositories.com/f/graphics-multimedia/native-gpu-integration-layers.md) — Offers a native GPU integration layer with direct FFI bindings for high-performance graphics and compute.

### Networking & Communication

- [Inter-Process Communication](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication.md) — Establishes secure and typed remote procedure calls to exchange data between a backend process and a browser interface.
- [Typed RPC Bridges](https://awesome-repositories.com/f/networking-communication/json-rpc-implementations/typed-rpc-bridges.md) — Exchanges JSON-serialized messages between the main process and webview using shared types for safety.
- [Remote Procedure Call Bridges](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-bridges.md) — Establishes an asynchronous RPC communication layer to exchange data and trigger logic between the system process and browser view. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window))

### Operating Systems & Systems Programming

- [Native Interoperability Bindings](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings.md) — Bridges the TypeScript runtime with native OS event loops to manage windows, system trays, and GPU surfaces.
- [Native System Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations.md) — Provides access to low-level operating system functionality including window management, system trays, and application menus. ([source](https://docs.electrobunny.ai/electrobun/guides/what-is-electrobun))
- [Application Lifecycle Management](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/native-applications/application-lifecycle-management.md) — Manages the startup and shutdown phases and coordinates the bridge between the user interface and the operating system. ([source](https://docs.electrobunny.ai/electrobun/apis/bun))
- [Application Menus](https://awesome-repositories.com/f/operating-systems-systems-programming/application-menus.md) — Creates native desktop menus with custom items and submenus to trigger application events. ([source](https://docs.electrobunny.ai/electrobun/apis/application-menu))

### Programming Languages & Runtimes

- [Cross-Platform Binary Generation](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/multi-target-compilers/cross-platform-binary-generation.md) — Produces native application builds for multiple operating systems and CPU architectures. ([source](https://docs.electrobunny.ai/electrobun/guides/cross-platform-development))

### Scientific & Mathematical Computing

- [Compute Workload Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/compute-workload-engines.md) — Dispatches workgroups to a graphics processor to perform heavy calculations and retrieve results into managed memory. ([source](https://docs.electrobunny.ai/electrobun/apis/webgpu/))

### User Interface & Experience

- [Native Webview Embedders](https://awesome-repositories.com/f/user-interface-experience/native-webview-embedders.md) — Integrates separate native browser views into the DOM to maintain content isolation for security and performance. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/electrobun-webview-tag))
- [Window Visibility Controllers](https://awesome-repositories.com/f/user-interface-experience/application-state-managers/window-visibility-controllers.md) — Provides utilities to toggle window visibility, manage focus, and pin windows above others. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window))
- [Context Menus](https://awesome-repositories.com/f/user-interface-experience/context-menus.md) — Displays native system pop-up menus at the mouse cursor position for context-aware actions. ([source](https://docs.electrobunny.ai/electrobun/apis/context-menu))
- [Window Lifecycle Monitors](https://awesome-repositories.com/f/user-interface-experience/event-handling/window-lifecycle-monitors.md) — Implements an event-driven handler to track window lifecycle state changes such as focus, resizing, and closing. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window))
- [Window Appearance Controllers](https://awesome-repositories.com/f/user-interface-experience/floating-window-components/transparency-controls/window-appearance-controllers.md) — Provides capabilities to control window borders, background transparency, and title bar appearance to create custom floating interfaces. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window))
- [System Event Handling](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/event-handling-systems/system-event-handling.md) — Listens for and responds to operating system level signals to trigger specific application behaviors. ([source](https://docs.electrobunny.ai/electrobun/apis/bun))
- [Frameless Window Draggables](https://awesome-repositories.com/f/user-interface-experience/frameless-window-draggables.md) — Designates specific interface elements as draggable areas so users can move frameless windows. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/draggable-regions))
- [Webview Masking](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-overlays/webview-masking.md) — Creates interactive holes through the embedded webview using CSS selectors to keep host-page elements accessible. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/electrobun-webview-tag))
- [Window Behavior Controls](https://awesome-repositories.com/f/user-interface-experience/window-management/window-lifecycle-controllers/window-behavior-controls.md) — Enables control over window layering, allowing windows to stay on top of other applications or persist across workspaces. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window/))

### Artificial Intelligence & ML

- [Local On-Device AI](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-application-frameworks/local-on-device-ai.md) — Manages and runs open weight AI models on a local device for private chat and coding assistance.
- [Local Model Management](https://awesome-repositories.com/f/artificial-intelligence-ml/local-model-management.md) — Provides tools for downloading and managing open weight AI models for local, private execution on the user's device. ([source](https://blackboard.sh/colab/))

### Part of an Awesome List

- [Positioning and Resizing](https://awesome-repositories.com/f/awesome-lists/devtools/window-management/positioning-and-resizing.md) — Provides APIs to set screen coordinates and dimensions for precise control over window placement and scale. ([source](https://docs.electrobunny.ai/electrobun/apis/browser-window/))

### Business & Productivity Software

- [Automatic Software Updates](https://awesome-repositories.com/f/business-productivity-software/automatic-software-updates.md) — Automatically checks for, downloads, and installs software updates from a static host. ([source](https://docs.electrobunny.ai/electrobun/guides/updates))

### Data & Databases

- [Session Storage](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/session-storage-synchronization/session-storage.md) — Handles cookies and storage for isolated webview partitions to maintain independent user data. ([source](https://docs.electrobunny.ai/electrobun/apis/utils/))
- [WebView Script Interoperability](https://awesome-repositories.com/f/data-databases/data-exchange-protocols/runtime-data-exchange/webview-script-interoperability.md) — Enables the native process to execute arbitrary JavaScript within the embedded webview via a dispatch mechanism. ([source](https://docs.electrobunny.ai/electrobun/apis/browser/electrobun-webview-tag/))

### Security & Cryptography

- [Inter-Process Communication Security](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/sandbox-and-isolation/runtime-process-isolation/inter-process-communication-security.md) — Facilitates encrypted and typed remote procedure calls to ensure secure communication between isolated processes. ([source](https://docs.electrobunny.ai/electrobun/guides/what-is-electrobun/))

### Testing & Quality Assurance

- [Initialization Script Injections](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-configuration/initialization-script-injections.md) — Executes JavaScript in the browser context before page scripts run to establish secure communication channels.
