Repolode
blackboardsh

blackboardsh/electrobun

メインプロセスにTypeScript、UIにWebviewを使って軽量で高速なクロスプラットフォームアプリを構築できるデスクトップアプリフレームワーク。Zig、Rust、Go、Odinにも対応。

代替できる製品:Electron

スター
12,939
フォーク
374
未解決の Issue
146
最終コミット
一昨日

これは何?

Electrobunは、クロスプラットフォームのデスクトップアプリを構築、更新、配布するためのフレームワークです。アプリのロジックはBunベースのメインプロセスで実行され、TypeScriptで記述します。UIは分離されたWebviewで描画します。型付きRPCで両プロセスを接続するため、型安全性を保ちながらメインプロセスとWebviewのコードを1つのコードベースで管理できます。

アプリのサイズを抑え、効率的に更新できることを重視しています。自己解凍形式のバンドルにはZstandard圧縮を使用し、更新はバイナリパッチ(BSDIFF)で配信します。パッチを適用できない場合は、圧縮済みの全ファイルをダウンロードします。bundleCEFオプションではChromiumのバージョンを固定して描画の一貫性を保てますが、ファイルサイズは大きくなります。bundleWGPUオプションを使えば、WebviewなしでTypeScriptからネイティブのGPUサーフェスを操作できます。

Electrobunには、SDKやツールチェーンを管理するネイティブのビルド・ワークスペースCLI「Hutch」が付属しています。`hutch electrobun init`、`bunx electrobun init`、または`npx electrobun init`で、テンプレートからプロジェクトを作成できます。公式ターゲットとして、macOS 14以降、Windows 11 x64、Ubuntu 24.04以降に対応しています。

主な機能

  • 01型付きRPCで連携するメインプロセスとWebviewのコードをTypeScriptで記述
  • 02Zstandardで圧縮した自己解凍形式のバンドル
  • 03バイナリパッチ(BSDIFF)による更新と、パッチ適用に失敗した場合の全ファイルダウンロード
  • 04オプションでChromium(CEF)を同梱、またはWebGPUサーフェスを利用
  • 05メインプロセスではZig、Rust、Go、Odinも使用可能

ユースケース

  • 頻繁な更新を低帯域幅で配信する、小規模なTypeScript製デスクトップツールのリリース
  • 既存のBunアプリやWebアプリ向けのデスクトップフロントエンドの構築
  • WebベースのUIとネイティブGPUレンダリングの組み込み

クイックスタート

  1. 1

    公式スクリプトを使って Hutch CLI をインストールする(macOS または Linux)

  2. 2

    Hutch のインストールを省略して、npm から始める

    npx electrobun init
  3. 3

    テンプレートを選び、Quick Start ガイドに従ってアプリを実行する

使う前に知っておきたいこと

  • Linux のエンドユーザー向けシステムには、GTK 3、WebKitGTK 4.1、Ayatana AppIndicator、librsvg のランタイムパッケージをインストールする必要があります。
  • JSC ベースの代替ランタイムである Cottontail は実験的な機能です。

トピック

よくある質問

electrobun とは?
メインプロセスにTypeScript、UIにWebviewを使って軽量で高速なクロスプラットフォームアプリを構築できるデスクトップアプリフレームワーク。Zig、Rust、Go、Odinにも対応。 Electrobunは、クロスプラットフォームのデスクトップアプリを構築、更新、配布するためのフレームワークです。アプリのロジックはBunベースのメインプロセスで実行され、TypeScriptで記述します。UIは分離されたWebviewで描画します。型付きRPCで両プロセスを接続するため、型安全性を保ちながらメインプロセスとWebviewのコードを1つのコードベースで管理できます。
electrobun は無料で使えますか?ライセンスは?
electrobun は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
electrobun は今もメンテナンスされていますか?
活発にメンテナンス中。electrobun の最終コミットは 2026年10月18日 です。
electrobun は何に使えますか?
頻繁な更新を低帯域幅で配信する、小規模なTypeScript製デスクトップツールのリリース 既存のBunアプリやWebアプリ向けのデスクトップフロントエンドの構築 WebベースのUIとネイティブGPUレンダリングの組み込み
electrobun のインストール方法は?
公式スクリプトを使って Hutch CLI をインストールする(macOS または Linux) Hutch のインストールを省略して、npm から始める: npx electrobun init テンプレートを選び、Quick Start ガイドに従ってアプリを実行する
electrobun はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/blackboardsh/electrobun

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト