
Tauriは、Rustで書かれた軽量デスクトップアプリ向けフレームワークで、各OSが標準で備えるシステムWebView(macOS=WebKit、Windows=WebView2、Linux=WebKitGTK)にHTML/CSS/JavaScriptのフロントエンドを表示し、ネイティブ機能をRustコマンド経由で呼び出します。プロジェクトは2019年に「proton-native」などの実験から発展して始まり、2020年に「Tauri」として整備、2022年6月にバージョン1.0が正式リリースされ、2024年10月に2.0がモバイル対応を含めて公開されました。Electronと同じくWeb技術でアプリを書きつつ、Chromiumを抱えずアプリサイズを数MB〜十数MBに抑えられる点で注目を集めています。
この記事の目次
- Rust + システムWebViewの構造
- 実験プロジェクトから2.0モバイル対応へ
- 現場での使われ方
- Electron・他陣営との違い
- まとめ
Rust + システムWebViewの構造

Tauriのアーキテクチャは「Rust製のネイティブコア」と「OS標準のWebView」の二段構えです。Rust側でアプリのウィンドウ管理・OS連携・更新処理を行い、UIはWebViewにロードされたHTML/JS/CSSが担います。ChromiumとNode.jsをまるごと抱えるElectronと違い、Tauriは各OSが既に持っているWebViewを使うので、配布物はOSごとに数MB〜十数MBに収まります。Rustによってメモリ安全性と高速な実行性能を確保しつつ、Web技術のフロントエンド資産(React、Vue、Svelte、Solid等)はそのまま活用できる設計です。
JS側とRust側のやり取りは「Tauri Commands」と呼ばれる型付きIPCで行い、Rust関数を#[tauri::command]アトリビュートで宣言すると、JavaScript側からinvoke('関数名', 引数)で安全に呼び出せます。引数や戻り値はserdeでシリアライズされ、Typescript側にも型情報が共有可能です。セキュリティ面では「allowlist」「カスタムプロトコル」「CSP制御」など、デフォルトで攻撃面を絞る設計になっており、Electronで度々問題となるリモートコンテンツ実行の事故を起こしにくいよう配慮されています。
実験プロジェクトから2.0モバイル対応へ

Tauriの原型は2019年頃に複数のRust愛好家が立ち上げた「Webview + Rust」系の実験プロジェクト群で、「軽量なElectron代替」を目指す動きが各地で並行していました。それらが2020年に統合される形で「Tauri」と名乗り、Tauri Programmeというコミュニティ運営のオープンソースプロジェクトとして整備されました。
2022年6月にバージョン1.0が正式リリースされ、デスクトップ向けの安定版として認知が広まりました。2024年10月にはバージョン2.0が公開され、iOS・Androidをターゲットとしたモバイル対応が加わり、「デスクトップ+モバイルを単一コードベースで賄えるRust基盤」へと範囲を拡張しています。スポンサーや支援企業はDeepSeek、CrabNebulaなど少数ながら堅実で、CrabNebula CloudなどTauriを業務利用するためのサービスも整いつつあります。GitHubのスター数はElectronに匹敵する規模まで成長し、「Electronから移行したい」需要を取り込んでいます。
現場での使われ方

Tauriが選ばれる代表的な理由は、まず「アプリサイズと省メモリ」です。Electron製アプリが100〜300MBの配布物・数百MBのRAMを消費するのに対し、Tauriで作った同等機能のアプリは10〜30MB台、RAMも数十MBで済む例が多く、ライセンス料の発生する署名証明書のサイズ制限や、Macのインストール体験への配慮から、CLIラッパー・小規模ユーティリティ系で採用が広がっています。
次に「Rustコア」を活かしたいシナリオです。バックエンド処理(暗号、画像処理、ネットワーク、CLIツールのラップ)をRustで書き、UIだけWebで提供するスタイルは、性能と保守性のバランスが良く、社内ツールや暗号通貨ウォレット系・データ可視化ツールで人気を集めています。課題はOSごとにWebView実装が異なる(WebKit、WebView2、WebKitGTK)ため、CSS互換性やJavaScript API差異への配慮が必要なこと、そしてRustの学習コストを誰がどの程度負うかという設計判断が伴うことです。それらを許容できるチームにとっては、Electronより軽くて安全で、しかも将来モバイルへも展開できる魅力的な選択肢になります。
Electron・他陣営との違い

Electronとの違いはこれまで述べた通りで、「全OS同じChromiumで均質に動く代わりに重い」のがElectron、「軽い代わりにOSごとのWebView差異に配慮が必要」がTauri、という対比になります。VS CodeやSlackのような巨大Webアプリをまるごと載せる用途ではElectronが依然有力ですが、ユーティリティ・社内ツール・配布性が重要なプロダクトではTauriが選ばれるケースが急増しています。
FlutterのデスクトップやMAUIと比べると、Tauriは「Webフロントエンドをそのまま活用できる」のが強みです。Webチームが書いたReact/Vueの画面をデスクトップに展開しつつ、サーバーロジックをRustに集約できる設計は、他のフレームワークではなかなか取りづらい組み合わせになります。ネイティブ(Swift/WinUI/Qt)と比べれば、OS固有のUXを徹底的に作り込みたい場合は劣りますが、クロスプラットフォームの省コスト性と現代的なフロントエンド体験を両立させたいなら、Tauriは現実的な第一候補のひとつになっています。
まとめ
TauriはRustとシステムWebViewを組み合わせ、Electronの肥大化問題に正面から挑むデスクトップ基盤として急成長してきました。2.0でのモバイル対応により、デスクトップ・モバイルを横断する軽量Webスタックの新たな選択肢にもなっています。「軽くて安全なElectron代替」が必要な場面では、まず候補に挙げるべき技術として定着しつつあります。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント