Electrobun v1の概要

2026年2月、Blackboardが開発した「Electrobun」がv1(安定版)に到達しました。TypeScriptでクロスプラットフォームのデスクトップアプリケーションを構築できるフレームワークで、Electronの長年の課題を解決することを目指しています。

開発者のFJ Revoredoが2年間をかけて作り上げたプロジェクトで、その過程でZig、C、C++、Objective-Cを学んだとのこと。個人の情熱から生まれたプロジェクトというのが、なかなか面白いですね。

なぜElectrobunが生まれたのか

背景を知ると、このフレームワークの設計思想がよく分かります。開発者はもともとElectronでアプリを作っていたものの、コード署名、ノタリゼーション、配布、アップデートの仕組みに苦労していたそうです。

「Webのように継続的にデプロイしたいのに、ツールチェインの全てがそれを難しくしていた」という不満がきっかけだったとのことです。Tauriも試したそうですが、「Rustは万人向けではない」ということでElectrobunの開発に至ったようです。

この「Electronの課題は認識しつつ、Rustを前提としたTauriには移行しにくい」というポジションにいる開発者は結構多いんじゃないかと思います。

技術的な特徴

Electrobunの技術スタックは独特です。コアはZigで書かれており、ランタイムにはBunを採用しています。

主な技術的特徴をまとめるとこんな感じです。

  • Bunベースのランタイム:BunのFFI(Foreign Function Interface)を活用し、ネイティブコードとの連携を実現
  • 共有メモリ活用:Bunがワーカー起動時に共有メモリを使うため、複数プロセスでもメモリ効率が良い
  • 差分アップデート:zig-bsdiff(CからZigにポートしたもの)にSIMDとzstdの最適化を加えた差分パッチシステム
  • OOPIF(Out-of-Process iFrame):Electronで非推奨になったwebviewタグの代替として、独自のelectrobun-webviewを実装

クロスプラットフォーム対応の現状

当初はmacOSのみだったElectrobunですが、v1ではmacOS、Windows、Ubuntuの3プラットフォームに対応しています。インストーラーの生成、自動アップデートアーティファクト、差分パッチの生成がすべて自動化されているのが嬉しいポイントですね。

配布先の静的ホストは自分で用意する方式で、R2、S3、GitHub Releasesなどが使えます。プラットフォーム側の制約に縛られない設計というのは、Deno 2.0のようなモダンランタイムの思想にも通じるところがあります。

Electronとの違い

Electronとの最大の違いは、Chromiumをバンドルしないことです。Electrobunはシステムのwebviewを使用するため、アプリのサイズが大幅に小さくなります。

また、Electronのwebviewタグが非推奨になっている問題に対して、ElectrobunはOOPIF(Out-of-Process iFrame)を独自に実装しました。DOM上の配置、プロセス分離、レイヤリングが正しく動作し、カーソルのちらつきもないとのことです。

v1で利用できる機能

安定版として出荷されたv1には、デスクトップアプリ開発に必要な機能が一通り揃っています。

  • クロスプラットフォームのウィンドウ制御
  • メニュー、アクセラレーター、グローバルショートカット
  • クリップボード、ダイアログ
  • Webviewパーティション、セッションストレージ
  • ページ内検索
  • バンドリング・アップデートのツーリング

必要十分という印象で、過不足ない感じがします。

エコシステムの位置づけ

デスクトップアプリ開発フレームワークの選択肢は増えてきました。Electron、Tauri、そしてElectrobunという3つの主要な選択肢を簡単に比較するとこうなります。

  • Electron:最も成熟しているが、アプリサイズが大きく、メモリ消費も多い
  • Tauri:Rust製でパフォーマンスは良いが、Rustの学習コストがある
  • Electrobun:TypeScript/Bunベースで、Web開発者にとっての参入障壁が低い

Astroのようなコンテンツ駆動型フレームワークがWeb開発の選択肢を広げたように、Electrobunもデスクトップ開発の選択肢を広げてくれそうです。

まとめ

Electrobun v1は、「TypeScript開発者がRustを学ばなくても、Electronの課題を回避しながらデスクトップアプリを構築できる」という明確な価値提案を持ったフレームワークです。BunとZigを基盤にした技術選択も興味深いですし、2年間の開発で安定版に到達したのは素直にすごいと思います。

Electronに不満を感じているけれどTauriへの移行はハードルが高いと感じている方は、一度公式ブログを覗いてみると良いかもしれません。

参考リンク: