Tauri完全に理解した
2022/03/31
@kfurumiya
自己紹介
古都こと @kfurumiya
株式会社Swish テックリード
好きな言語:TypeScript / Rust
故郷: ActionScript3(滅亡済み)
最近の悩み
- 原神の螺旋12層の黄金王獣が嫌い
- グラブルのバブさんソロが火属性だけクリアできない
Tauri
Tauri
- Rustで実装されたGUIアプリ開発フレームワーク
- Electronのようにフロントエンド技術で作成する
- OS標準のWebViewエンジンを使用する
- コンパクトな容量
- ElectronはChromiumを内蔵しているので大きい
- 先日リリース候補になりました!
- 正式版ではないけど使えはする
TauriとElectronと比較
実際のアプリでビルドして比較してみた
使い方
#インストール
npx create-tauri-app
# devモード
npm run tauri dev
#ビルド
npm run tauri build
利点 💕
- サイズ小さい!
- デフォで5MB、最適化オプション付きで3MBぐらい
- OS側の機能が使いやすい
- ElectronだとIPC意識しないと厳しい
- Tauriだとconfigで有効化するだけ
- 今どきのウェブアプリなら特に問題なく動く
- 環境によってWebViewが違うとはいえ
- 今どきなら差が出るようなAPI使わないだろうし…
- 欠点にもなりうる
欠点 ☠️
- ビルド遅い…
- Rustだから仕方ない
- クロスコンパイル厳しい
- 現状未対応
- 「GitHub Actionsで各環境のインスタンスでビルドする」が逃げ道
- 現在はリモートURLを直で開けない?
- ローカルのHTMLがエントリポイント
- 0秒のリダイレクトを設定してして乗り切った
- 環境依存
- OSごとのWebView使うのでちょっとは差が出る
その他
- 将来的にiOS/Android対応
- モバイル対応は強い
- 自動アップデータ標準搭載
- Electronはちょっとコツがいる
- Rustで拡張していける
- 慣れてない人には難易度高いけど…
まとめ
- Electron亜種の中でもかなり素直なTauri
- RustでOSのWebViewを叩く
- ブラウザ間の差異が小さくなってきた時代の産物
- Electronの諸問題が解決されている
- 容量やセキュリティなど
- わりと癖もあるけど今どきのウェブアプリなら動く
- Chromiumに依存しまくってると無理かも
- まだ不安な部分もあるけど趣味レベルなら実用的
Tauri完全に理解した
By Koto Furumiya
Tauri完全に理解した
- 1,148