C#とXAMLでデスクトップ、モバイル、組み込み、WebAssembly向けアプリを開発できる、クロスプラットフォームの.NET UIフレームワーク。
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
Rust 1.89以降がインストールされていることを確認します
- 2
Cargo.tomlの依存関係にFerroUIクレートを追加します
- 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 の数値は毎日更新されます。
関連プロジェクト
WinUIは、Windowsデスクトップアプリを構築するための最新のコントロールとスタイルを提供するMicrosoftのUIレイヤーで、WinUI 3はWindows App SDKに含まれています。
宣言的DSLを中心に構成された、GLFW/SDL2のウィンドウバックエンドとOpenGL/Vulkan描画に対応するクロスプラットフォームC++17 UIフレームワーク。
macOS、Windows、Linux、Webに対応し、独自のレンダラー、テキスト処理、レイアウト、スプリングアニメーションを備えた、GPUで描画するRust製UIフレームワーク。
単一のコードベースから、デスクトップ、モバイル、組み込みプラットフォームで動作するGUIアプリを構築できるオープンソースのPythonフレームワーク。
GPU描画のネイティブUI、またはシステムWebView内のWebページでデスクトップアプリを構築できるZigツールキット。