Repolode
wieslawsoltes

wieslawsoltes/FerroUI

Avaloniaのアーキテクチャを移植した、スタイル付きプロパティ、データバインディング、XAML、複数のテーマを備えるクロスプラットフォームRust UIフレームワーク。

スター
232
フォーク
14
未解決の Issue
22
最終コミット
3 時間前

これは何?

FerroUIは、Avalonia UIのアーキテクチャを移植したRust向けの保持モードUIフレームワークです。オブジェクトモデル、コントロールの契約、動作を維持しているため、そのモデルに基づいて作られたアプリケーション、テーマ、XAMLを引き継げます。スタイル付きプロパティシステム、論理ツリーとビジュアルツリー、ルーティングイベント、レイアウト、データバインディング、コントロールテーマ(Fluent、Simple、WinUI 3、macOS 26、Material 3)、コンポジションベースのレンダラーを備えています。

レンダリングには交換可能なバックエンドを利用できます。デフォルトかつリファレンス実装のレンダラーはSkiaで、テキストシェーピングにはHarfBuzzを使用します。また、実験的なVelloバックエンドも利用できます。macOS、Windows、Linux(X11、Wayland、フレームバッファー)、iOS、Android、WebAssembly経由のブラウザーを対象とし、XAMLに代わる宣言的なRust API(`ferroui-view`)や、実行中のアプリケーションを調査する開発者向けツールも提供します。

プロジェクトのバージョンは0.4.0です。READMEによると、プラットフォームの対応状況は、幅広い実機ではなく、主にCI、仮想マシン、シミュレーターで検証されています。

主な機能

  • 01継承、強制変換、変更通知に対応したスタイル付きプロパティシステム
  • 02コンバーター、マルチバインディング、検証、テンプレートに対応したデータバインディング
  • 03ビルド時にコンパイルする方法と実行時に読み込む方法を選べるXAMLマークアップ
  • 04HarfBuzzによるテキストシェーピングに対応した、Skiaなどの交換可能なレンダリングバックエンド
  • 05シグナル、コンポーネント、ホットリロードに対応した宣言的なRust UI API
  • 06ツリー、プロパティ、レイアウトを調査する開発者向けツール

ユースケース

  • XAML風のワークフローでRust製クロスプラットフォームデスクトップアプリケーションを構築する
  • AvaloniaベースのUIコードやテーマをRustのコードベースに移植する
  • iOS、Android、ブラウザーも対象とするRustアプリケーションを作成する
  • XAMLを使わない宣言的なRust UI APIを試す

クイックスタート

  1. 1

    Rust 1.89以降がインストールされていることを確認します

  2. 2

    Cargo.tomlの依存関係にFerroUIクレートを追加します

  3. 3

    リポジトリのチェックアウトからDesigner Studioを実行します

    cargo run -p designer-studio

使う前に知っておきたいこと

  • バージョン0.4.0では、0.5.0で公開APIが変更される可能性があります。
  • 初回ビルドではSkiaをダウンロードまたはコンパイルし、HarfBuzzをソースからビルドするため、時間がかかる場合があります。
  • いくつかのプラットフォームは実機ではなく、CI、仮想マシン、またはシミュレーターでのみ検証されています。
  • Linuxフレームバッファーのサポートは仮想デバイスのみで、iOSはシミュレーターのみでテストされています。

収録されている特集

トピック

よくある質問

FerroUI とは?
Avaloniaのアーキテクチャを移植した、スタイル付きプロパティ、データバインディング、XAML、複数のテーマを備えるクロスプラットフォームRust UIフレームワーク。 FerroUIは、Avalonia UIのアーキテクチャを移植したRust向けの保持モードUIフレームワークです。オブジェクトモデル、コントロールの契約、動作を維持しているため、そのモデルに基づいて作られたアプリケーション、テーマ、XAMLを引き継げます。スタイル付きプロパティシステム、論理ツリーとビジュアルツリー、ルーティングイベント、レイアウト、データバインディング、コントロールテーマ(Fluent、Simple、WinUI 3、macOS 26、Material 3)、コンポジションベースのレンダラーを備えています。
FerroUI は無料で使えますか?ライセンスは?
FerroUI は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
FerroUI は今もメンテナンスされていますか?
活発にメンテナンス中。FerroUI の最終コミットは 2026年11月6日 です。
FerroUI は何に使えますか?
XAML風のワークフローでRust製クロスプラットフォームデスクトップアプリケーションを構築する AvaloniaベースのUIコードやテーマをRustのコードベースに移植する iOS、Android、ブラウザーも対象とするRustアプリケーションを作成する XAMLを使わない宣言的なRust UI APIを試す
FerroUI のインストール方法は?
Rust 1.89以降がインストールされていることを確認します Cargo.tomlの依存関係にFerroUIクレートを追加します リポジトリのチェックアウトからDesigner Studioを実行します: cargo run -p designer-studio
FerroUI はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/wieslawsoltes/FerroUI

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト