Skip to content
Latchkey

electron-builder vs Tauri: デスクトップアプリのパッケージング

electron-builderはChromiumとNodeを同梱したElectronアプリをパッケージングして配布します。Tauriはシステムのwebviewを使い、より小さなRustバックエンドのアプリを構築します。

electron-builderは、コード署名と自動更新のサポートを備え、Windows、macOS、LinuxでElectronアプリをinstallerにパッケージングする標準ツールですが、ElectronはChromiumとNodeを同梱するためバイナリが大きくなります。Tauriは異なるフレームワークで、WebフロントエンドをRustバックエンドおよびネイティブなOSのwebviewと組み合わせ、はるかに小さくメモリ消費の少ないアプリを生成し、独自のbundlerを含みます。この比較は実際には、Electron方式のパッケージング vs より軽量なRust/webviewのアプローチです。

electron-builderTauri
ランタイムChromium + Node 同梱OSのwebview + Rust
アプリサイズ大きい小さい
メモリ多め少なめ
バックエンド言語NodeRust
最適な用途既存のElectronアプリ軽量な新規デスクトップアプリ

CIでの利用

どちらもプラットフォーム固有のinstallerをビルドし、正しいランナーのOSが必要です(.dmgの署名とノータライズにはmacOS、.exeにはWindows)。Electronのビルドは同梱されたChromiumのため重く、TauriのビルドはRustをコンパイルしますが、はるかに小さな成果物を出荷します。どちらの場合もクロスプラットフォームなリリースmatrixが一般的なので、OSごとのランナーが重要です。

高速化する

依存関係(node_modules、およびTauriのcargoのregistry/target)をキャッシュし、OSのmatrixを並列で実行します。どちらもCIランナー上でビルドされ、より高速なマネージドランナーはコンパイル、バンドル、署名のステップを短縮します。

結論

成熟した署名と自動更新を備えた既存のElectronアプリをパッケージングまたは保守する場合: electron-builder。小さくメモリ消費が少なくRustバックエンドを持つべき新しいデスクトップアプリを構築する場合: Tauri。サイズと性能を重視する新規プロジェクトはTauriに傾き、確立されたElectronアプリはelectron-builderにとどまります。

関連ガイド