Repolode
wieslawsoltes

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. 1

    Убедитесь, что установлена версия Rust 1.89 или более поздняя

  2. 2

    Добавьте крейты FerroUI в зависимости в Cargo.toml

  3. 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 обновляется ежедневно.

Похожие проекты

Кроссплатформенный UI-фреймворк на C++17 с GLFW/SDL2 для окон и OpenGL/Vulkan для рендеринга, построенный вокруг декларативного DSL.

2,1 тыс.+14 за неделю186C++Apache-2.0Активно поддерживаетсяОбновлён 4 дня назад

Нативный UI-фреймворк на Rust с рендерингом на GPU для macOS, Windows, Linux и веба, собственными рендерером, текстовым стеком, системой компоновки и пружинной анимацией.

2,2 тыс.52RustMITАктивно поддерживаетсяОбновлён 16 часов назад

Open-source Python-фреймворк для разработки GUI-приложений под desktop, мобильные и встроенные платформы на единой кодовой базе.

19 тыс.3,1 тыс.PythonMITАктивно поддерживаетсяОбновлён позавчера