2026/3/19 3 min read
Rustの組み込み向けGUIライブラリ
組み込み環境(no_std)で使えそうなRust向けGUIライブラリを集めた。上から軽そうな順で記載している。
#embedded-graphics
GUIライブラリというか2Dライブラリ。
- Pros
- 恐らくRust組み込み界では一番メジャーでエコシステムが豊富
- Cons
- あくまで描画ライブラリなのでGUI部分は自作する必要がある
#Kolibri
eguiに影響を受けたembedded-graphicsベースのシンプルなGUIライブラリ。
- Pros
- embedded-graphicsの軽いラッパーとして気軽に扱えそう
- Cons
- 即時モードのため処理が重くなる可能性(ただし色々工夫はしてそう)
#iris-ui
embedded-graphicsベースの他のGUIライブラリ
- Pros
- embedded-graphicsベース
- Cons
- アニメーションなどは使えない
- あまりリッチなGUI向けではなさそう
#buoyant
組み込み向け宣言型GUIライブラリ。
- Pros
- SwiftUIのような宣言型GUIを目指しているみたいで使いやすそう
- embedded-graphicsのエコシステムに乗っている
- Cons
- どれぐらい複雑なGUIを表現できるのか分からない
#lv_binding_rust
lvglのラッパーライブラリ。
- Pros
- 成熟したコンポーネント群を用いることができる
- Cons
- ラッパーの完成度が不明
- 1年ぐらいメンテされてない
- LVGLはヒープをすごい使うという噂を聞いた
- alloc必須
#lv_bevy_ecs
新しいlvglのラッパーライブラリ。
- Pros
- ECSシステムを使いRustフレンドリーな形でLVGLを使えるらしい
- 最終更新日時はこちらのほうが新しい
- Cons
- Starが少なく継続性に不安がある
- ECSにより肥大化する懸念
- ちょっと触った際にRustのasyncとうまく噛み合わない部分がありそうな感じがした
- alloc必須
#Slint
Rust製の結構有名なGUIライブラリ。
- Pros
- GUIライブラリとしてそれなりに実績がある
- Slint言語でGUIを簡単に記述できる
- Cons
- 組み込みで用いる際のオーバーヘッドがどれほどのものか
- ライセンス(組み込み用途ではGPLか商用ライセンスが必要)
- 多分alloc必須