rustのGUIライブラリの調査
全体的に
tauri以外はほとんど情報がない、ギャグぐらいない
tauriもv1の情報ばっかり出てくるしLLMもv1のAPIばっかり使う
ドキュメントも微妙に足りない
UIもrustでやる場合、用意されてるコンポーネント少なすぎてフロント開発ばっかりやってた人にとってはかなりきつい
win apiはどっちからでも呼び出せる
UIなどはウェブと使いまわせる
マルチプラットフォーム対応
win, mac, android, ios
とはいえスマホ向けは開発されたばかりで全然
フロントは書ける人にはハードル低め
WebViewレンダリング
謳い文句
Electron代替、バンドルサイズ小さい
弱み
UIは共通とはいえOSのAPIを使うのでそのままweb向けにはできない、あくまでアプリ向け
JS↔️Rust間の通信のシリアライズが若干遅い?(解決との情報もあり)
マルチプラットフォーム
windows, mac, web
wasm対応なのでウェブでも使える
ただしcanvasに表示する形になる
webGPUを使える
状態を計算して、毎フレーム再構築される即時モードと言われる描画方法
ゲームに向いていそうwogikaze.icon
Elmアーキテクチャ(TEA)で開発している人には(状態主導で描画という)ハードル低め...かも?
弱み
モバイルに対応していない
マルチプラットフォーム
windows, mac, web(いちおう)
web, android, iosは実験的
wgpuかtiny-skiaで描画
謳い文句
ElmにインスパイアされたGUIライブラリ
弱み
IME対応してないっぽい?
JSX風の記法、RSXを採用
マルチプラットフォーム
web(wasm), windows, mac, android, ios
webはDOMでの描画をする
webViewでの描画
だが将来的にwgpuに対応する?
謳い文句
フルスタック&クロスプラットフォーム
弱み
?
過去にTUI向けにも開発していたが現在は非推奨
宣言的UIツールキット
.slintファイルでUIを記述
マルチプラットフォーム
win, mac, wasm
組み込み向け?
モバイルは将来対応予定
webではcanvasで描画
Druidの後継
wgpuで描画
謳い文句
ReactやSwiftUIのような宣言的UIをRustで
弱み
ネイティブ専用
開発元がGoogle
レンダリングエンジンにvello(v)を使用
wgpuを使った描画
一応wasm対応
謳い文句
宣言型UIとリアクティブUI
gpui
Zedが使ってるライブラリ
ほとんど公開されてない
wgpuでの描画