基于 C# 和 XAML 的跨平台 .NET UI 框架,可构建桌面、移动、嵌入式和 WebAssembly 应用。
wieslawsoltes/FerroUI
基于 Avalonia 架构移植到 Rust 的跨平台 UI 框架,支持样式属性系统、数据绑定、XAML 与多种主题。
- Star
- 240
- Fork
- 15
- 未关闭 Issue
- 22
- 最近提交
- 3小时前
这是什么?
FerroUI 是一个用 Rust 编写的 UI 框架,移植自 Avalonia UI,保留其对象模型、控件契约和行为设计,因此基于该模型编写的应用、主题和 XAML 可以沿用原有结构。框架提供样式属性系统、逻辑树与可视树、路由事件、布局、数据绑定、控件主题(Fluent、Simple、WinUI 3、macOS 26 与 Material 3)以及基于合成的渲染器。
渲染部分可替换后端:默认使用 Skia,文本排版使用 HarfBuzz,另有实验性的 Vello 后端。框架支持 macOS、Windows、Linux(X11、Wayland 与 framebuffer)、iOS、Android,并可通过 WebAssembly 运行在浏览器中。除 XAML 外,还提供声明式 Rust API(`ferroui-view`),以及用于检查运行中应用的开发者工具。
项目当前版本为 0.4.0。各平台的验证主要在 CI、虚拟机和模拟器上完成,尚未在大量真实设备上测试。
核心功能
- 01带继承、强制转换和变更通知的样式属性系统
- 02支持转换器、多重绑定、数据验证和模板的数据绑定
- 03XAML 标记可在构建时编译或运行时加载
- 04可替换的渲染后端,包括 Skia,文本排版使用 HarfBuzz
- 05声明式 Rust UI API,支持信号、组件与热重载
- 06用于检查控件树、属性和布局的开发者工具
适用场景
- 用 Rust 构建跨平台桌面应用,并采用类似 XAML 的开发方式
- 将基于 Avalonia 的界面代码或主题迁移到 Rust 项目
- 开发同时面向 iOS、Android 或浏览器的 Rust 应用
- 尝试不使用 XAML 的声明式 Rust UI API
快速上手
- 1
确认已安装 Rust 1.89 或更高版本
- 2
在 Cargo.toml 的依赖中添加 FerroUI 各个 crate
- 3
在仓库目录中运行 Designer Studio
cargo run -p designer-studio
使用前须知
- 0.4.0 版本的公共 API 在 0.5.0 中可能会发生变化。
- 首次构建需要下载或编译 Skia,并从源码构建 HarfBuzz,耗时可能很长。
- 多个平台仅在持续集成、虚拟机或模拟器中验证,未在真实设备上验证。
- Linux framebuffer 仅用虚拟设备测试,iOS 仅在模拟器中测试。
收录于专题
标签
常见问题
- FerroUI 是什么?
- 基于 Avalonia 架构移植到 Rust 的跨平台 UI 框架,支持样式属性系统、数据绑定、XAML 与多种主题。 FerroUI 是一个用 Rust 编写的 UI 框架,移植自 Avalonia UI,保留其对象模型、控件契约和行为设计,因此基于该模型编写的应用、主题和 XAML 可以沿用原有结构。框架提供样式属性系统、逻辑树与可视树、路由事件、布局、数据绑定、控件主题(Fluent、Simple、WinUI 3、macOS 26 与 Material 3)以及基于合成的渲染器。
- FerroUI 可以免费使用吗?用的什么许可证?
- FerroUI 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- FerroUI 还在维护吗?
- 活跃维护中。FerroUI 最近一次提交是在 2026年11月7日。
- FerroUI 适合用来做什么?
- 用 Rust 构建跨平台桌面应用,并采用类似 XAML 的开发方式 将基于 Avalonia 的界面代码或主题迁移到 Rust 项目 开发同时面向 iOS、Android 或浏览器的 Rust 应用 尝试不使用 XAML 的声明式 Rust UI API
- FerroUI 怎么安装和运行?
- 确认已安装 Rust 1.89 或更高版本 在 Cargo.toml 的依赖中添加 FerroUI 各个 crate 在仓库目录中运行 Designer Studio: cargo run -p designer-studio
- 在哪里获取 FerroUI?
- 源代码和安装说明在 GitHub 上:https://github.com/wieslawsoltes/FerroUI
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
微软的 WinUI 界面层,提供现代控件与样式,用于构建 Windows 应用,当前版本 WinUI 3 随 Windows App SDK 发布。
基于 C++17 的跨平台 UI 框架,支持 GLFW/SDL2 窗口后端与 OpenGL/Vulkan 渲染后端。
面向 macOS、Windows、Linux 和 Web 的原生 GPU 渲染 Rust UI 框架,自带渲染器、文本、布局与弹簧动画。
开源 Python GUI 框架,一套代码即可部署到桌面、移动和嵌入式平台。
用 Zig 构建桌面应用的工具包,可用 GPU 绘制原生界面,也可嵌入系统 webview 网页。