Кроссплатформенный UI-фреймворк .NET для создания десктопных, мобильных, встроенных и WebAssembly-приложений на C# и XAML.
wieslawsoltes/FerroUI
Кроссплатформенный UI-фреймворк на Rust, переносящий архитектуру Avalonia и поддерживающий стилизуемые свойства, привязку данных, XAML и несколько тем.
- Звёзды
- 232
- Форки
- 14
- Открытые issues
- 22
- Последний коммит
- 16 часов назад
Что это?
FerroUI — UI-фреймворк на Rust с сохранённым режимом отрисовки, который переносит архитектуру Avalonia UI, сохраняя её объектную модель, контракты контролов и поведение. Благодаря этому приложения, темы и XAML, созданные для этой модели, можно перенести. Фреймворк предоставляет систему стилизуемых свойств, логическое и визуальное деревья, маршрутизируемые события, компоновку, привязку данных, темы контролов (Fluent, Simple, WinUI 3, macOS 26 и Material 3), а также рендерер на основе композиции.
Для отрисовки используются сменяемые бэкенды: Skia — стандартный и эталонный рендерер, а для формирования текста применяется HarfBuzz; также доступен экспериментальный бэкенд Vello. Фреймворк предназначен для macOS, Windows, Linux (X11, Wayland и framebuffer), iOS, Android и браузеров через WebAssembly. Кроме того, в нём есть декларативный Rust API (`ferroui-view`) как альтернатива XAML и инструменты разработчика для проверки работающего приложения.
Проект находится на версии 0.4.0. В README отмечено, что поддержку платформ проверяют преимущественно в CI, виртуальных машинах и симуляторах, а не на широком спектре реальных устройств.
Ключевые возможности
- 01Система стилизуемых свойств с наследованием, приведением значений и уведомлениями об изменениях
- 02Привязка данных с конвертерами, множественными привязками, валидацией и шаблонами
- 03Разметка XAML, компилируемая во время сборки или загружаемая во время выполнения
- 04Сменяемые бэкенды отрисовки, включая Skia, и формирование текста с помощью HarfBuzz
- 05Декларативный UI API для Rust с сигналами, компонентами и горячей перезагрузкой
- 06Инструменты разработчика для проверки деревьев, свойств и компоновки
Сценарии использования
- Создание кроссплатформенных десктопных приложений на Rust с использованием XAML-подобного подхода
- Перенос UI-кода или тем на базе Avalonia в кодовую базу на Rust
- Создание приложений на Rust с поддержкой iOS, Android или браузера
- Эксперименты с декларативным UI API для Rust без XAML
Быстрый старт
- 1
Убедитесь, что установлена версия Rust 1.89 или более поздняя
- 2
Добавьте крейты FerroUI в зависимости в Cargo.toml
- 3
Запустите Designer Studio из клона репозитория
cargo run -p designer-studio
Что важно знать
- В версии 0.4.0 публичный API может измениться в версии 0.5.0.
- При первой сборке Skia загружается или компилируется, а HarfBuzz собирается из исходного кода, поэтому она может занять много времени.
- Некоторые платформы проверялись только в CI, виртуальных машинах или симуляторах, а не на реальных устройствах.
- Поддержка фреймбуфера Linux тестировалась только на виртуальных устройствах, а iOS — только в симуляторе.
В подборках
Темы
Частые вопросы
- Что такое FerroUI?
- Кроссплатформенный UI-фреймворк на Rust, переносящий архитектуру Avalonia и поддерживающий стилизуемые свойства, привязку данных, XAML и несколько тем. FerroUI — UI-фреймворк на Rust с сохранённым режимом отрисовки, который переносит архитектуру Avalonia UI, сохраняя её объектную модель, контракты контролов и поведение. Благодаря этому приложения, темы и XAML, созданные для этой модели, можно перенести. Фреймворк предоставляет систему стилизуемых свойств, логическое и визуальное деревья, маршрутизируемые события, компоновку, привязку данных, темы контролов (Fluent, Simple, WinUI 3, macOS 26 и Material 3), а также рендерер на основе композиции.
- FerroUI можно использовать бесплатно? Какая у него лицензия?
- FerroUI распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- FerroUI всё ещё поддерживается?
- Активно поддерживается. Последний коммит в FerroUI — 6 нояб. 2026 г..
- Для чего можно использовать FerroUI?
- Создание кроссплатформенных десктопных приложений на Rust с использованием XAML-подобного подхода Перенос UI-кода или тем на базе Avalonia в кодовую базу на Rust Создание приложений на Rust с поддержкой iOS, Android или браузера Эксперименты с декларативным UI API для Rust без XAML
- Как установить FerroUI?
- Убедитесь, что установлена версия Rust 1.89 или более поздняя Добавьте крейты FerroUI в зависимости в Cargo.toml Запустите Designer Studio из клона репозитория: cargo run -p designer-studio
- Где скачать FerroUI?
- Исходный код и инструкции по установке — на GitHub: https://github.com/wieslawsoltes/FerroUI
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
WinUI — слой современных элементов управления и стилей Microsoft для создания настольных приложений Windows; WinUI 3 входит в состав Windows App SDK.
Кроссплатформенный UI-фреймворк на C++17 с GLFW/SDL2 для окон и OpenGL/Vulkan для рендеринга, построенный вокруг декларативного DSL.
Нативный UI-фреймворк на Rust с рендерингом на GPU для macOS, Windows, Linux и веба, собственными рендерером, текстовым стеком, системой компоновки и пружинной анимацией.
Open-source Python-фреймворк для разработки GUI-приложений под desktop, мобильные и встроенные платформы на единой кодовой базе.
Инструментарий на Zig для создания desktop-приложений с нативным GPU-интерфейсом или веб-страницей в системном webview.