Webとネイティブ環境で動作し、ゲームエンジンにも組み込める、Rust製の使いやすい即時モードGUIライブラリです。
iced-rs/iced
シンプルで型安全なElm風のプログラミングモデルを備えた、Rust向けクロスプラットフォームGUIライブラリ。
- スター
- 31,808
- フォーク
- 1,709
- 未解決の Issue
- 512
- 最終コミット
- 7 時間前
これは何?
Icedは、Elm風のアーキテクチャを使ってデスクトップやWebのユーザーインターフェースを構築できる、Rust向けのGUIライブラリです。インターフェースは、状態、メッセージ、状態をウィジェットとして描画するview関数、メッセージに応じて状態を変更するupdate関数に分けられます。レイアウトやイベント処理はライブラリが担うため、アプリケーション側では画面に表示する内容とその反応だけを記述できます。
IcedはWindows、macOS、Linux、Webに対応しています。テキスト入力やスクロール可能な領域などの標準ウィジェットを備え、カスタムウィジェットにも対応しています。また、futuresを基盤とするasyncアクションを標準機能として提供します。モジュール設計により、レンダラーに依存しないランタイムとレンダラーを分離しています。iced_wgpuはwgpuを使ってVulkan、Metal、DX12に対応し、iced_tiny_skiaはソフトウェアフォールバックを提供します。ウィンドウ管理シェルがこれらをOSに接続します。
このプロジェクトは実験的なソフトウェアと位置付けられているため、リリース間でAPIが変更される可能性があります。
主な機能
- 01型安全なメッセージを使う、Elm風の状態・メッセージ・view・updateモデル
- 02Windows、macOS、Linux、Webに対応するクロスプラットフォームサポート
- 03テキスト入力やスクロール可能な領域などの標準ウィジェットと、カスタムウィジェットへの対応
- 04wgpu(Vulkan、Metal、DX12)をベースとするレンダラーと、tiny-skiaによるソフトウェアフォールバック
- 05futuresを使った、標準機能としてのasyncアクション
ユースケース
- Rustだけでクロスプラットフォームのデスクトップアプリケーションを構築する
- ネイティブらしいインターフェースを持つ、小規模なツールやユーティリティを作成する
- 既存システムに、レンダラーに依存しないGUIランタイムを組み込む
- RustのGUIコードでElm風のアーキテクチャを試す
クイックスタート
- 1
Rustプロジェクトにicedクレートを追加する
- 2
詳しく知るには、The Book、ドキュメント、サンプルを読む
使う前に知っておきたいこと
- READMEには、Icedは現在実験段階のソフトウェアであると記載されています。
- READMEでは、プロジェクトはまだ初期段階にあり、バージョン間で破壊的変更が発生する可能性があると説明されています。
トピック
よくある質問
- iced とは?
- シンプルで型安全なElm風のプログラミングモデルを備えた、Rust向けクロスプラットフォームGUIライブラリ。 Icedは、Elm風のアーキテクチャを使ってデスクトップやWebのユーザーインターフェースを構築できる、Rust向けのGUIライブラリです。インターフェースは、状態、メッセージ、状態をウィジェットとして描画するview関数、メッセージに応じて状態を変更するupdate関数に分けられます。レイアウトやイベント処理はライブラリが担うため、アプリケーション側では画面に表示する内容とその反応だけを記述できます。
- iced は無料で使えますか?ライセンスは?
- iced は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- iced は今もメンテナンスされていますか?
- 活発にメンテナンス中。iced の最終コミットは 2026年10月21日 です。
- iced は何に使えますか?
- Rustだけでクロスプラットフォームのデスクトップアプリケーションを構築する ネイティブらしいインターフェースを持つ、小規模なツールやユーティリティを作成する 既存システムに、レンダラーに依存しないGUIランタイムを組み込む RustのGUIコードでElm風のアーキテクチャを試す
- iced のインストール方法は?
- Rustプロジェクトにicedクレートを追加する 詳しく知るには、The Book、ドキュメント、サンプルを読む
- iced はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/iced-rs/iced
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Slintは、Rust、C++、JavaScript、PythonアプリでネイティブUIを構築できる宣言型GUIツールキットです。
GPUIフレームワークでクロスプラットフォームアプリを構築するための、75以上のスタイル付きコンポーネントを備えたRust製デスクトップGUIキット。
RustまたはTSXでアプリを書き、各プラットフォーム固有のウィジェットで描画できる、クロスプラットフォームUI向けRustエンジン。
レイヤーやマスク、調整レイヤー、文字、ベクター、PSDに対応した、純粋なRustで再構築されたオープンソースの写真編集ソフト。
Linux、macOS、Windowsに対応した、Rust製の軽量なネイティブSpotifyデスクトップクライアント。ローカル再生とSpotify Connectに対応。