2025 年 Rust GUI 库调研
本文作者对 43 种 Rust GUI 库进行调研,旨在实现文本标签与输入框联动功能,且考虑了 Windows 系统支持、屏幕阅读器可访问性及 IME 输入等因素。
众多库表现各异,如 Azul、CXX-Qt 等存在链接错误难以运行;Cushy、Floem 等在可访问性或 IME 支持上有缺陷;Dioxus、Slint 等综合表现较好。作者认为虽无完美选择,但相比 2021 年已有更多合理选项。
库名 | 是否可用 | 屏幕阅读器可访问性 | IME 支持情况 | 问题描述 |
---|---|---|---|---|
Azul | 链接错误,无法运行 | 未提及 | 未提及 | 下载预构建.dll 困难,示例代码无法运行,版本混乱 |
cacao | 仅适用于 macOS | 未提及 | 未提及 | 不支持 Windows 系统 |
core - foundation | 仅适用于 macOS | 未提及 | 未提及 | 不支持 Windows 系统 |
Crux | 无桌面目标 | 未提及 | 未提及 | 实际不支持桌面 GUI 开发,仅用于移动和 Web |
Cushy | 是 | 否 | 部分支持 | 示例代码有错误,运行时产生大量 Vulkan/DirectX 12 错误,Windows Narrator 无法识别内容 |
CXX-Qt | 链接错误,无法运行 | 未提及 | 未提及 | 安装 Qt 需注册,示例代码有 1058 个链接错误 |
Dioxus | 是 | 是 | 是 | 通过 WebView2/WebKitGTK 支持桌面开发,类似 React,文本和 IME 功能正常 |
Dominator | 仅用于 Web | 未提及 | 未提及 | 无桌面支持 |
egui | 是 | 是 | 部分支持 | 设置简单,默认字体不支持日语字符,Tab 键选择汉字时被吃掉 |
Floem | 是 | 否 | 否 | 用于 Lapce IDE,布局构建方式奇怪,缺乏可访问性和 IME 支持 |
fltk | 是 | 需额外 crate | 是 | 布局系统不佳,添加组件方式不友好 |
flutter_rust_bridge | 部分支持,但状态管理混乱 | 是 | 部分支持,但状态管理混乱 | 与 Flutter 集成复杂,输入字段状态管理有问题 |
Freya | 是 | 否 | 否 | 依赖旧版本 Dioxus,渲染和文本识别存在问题 |
fui | qmake 错误,无法构建 | 未提及 | 未提及 | 缺乏文档,构建失败 |
GemGui | 技术上可用,但依赖问题多 | 未提及 | 未提及 | 依赖 Python,运行方式繁琐 |
GPUI | 是 | 否 | 是 | 缺乏基本文本输入部件,文档和安装不完善 |
GTK 3 | 不再维护 | 未提及 | 未提及 | 已过时 |
GTK 4 | 是 | 否 | 是 | 窗口装饰和可访问性存在问题 |
Iced | 是 | 否 | 否 | 受 Elm 启发,在可访问性和 IME 支持上有缺陷 |
imgui | 是 | 否 | 否 | 与游戏引擎结合较好,但初始设置繁琐,支持多种渲染器导致选择困难 |
KAS | 是 | 否 | 否 | 教程过时,状态管理设计不清晰 |
kittest | 仅用于测试 | 未提及 | 未提及 | 仅支持 egui 测试 |
Leptos | 仅用于 Web | 未提及 | 未提及 | Web 前端框架,原生 GUI 支持不足 |
lvgl | C 依赖问题 | 未提及 | 未提及 | 配置在 Windows 上有问题 |
Makepad | 是 | 否 | 部分支持 | 缺乏文档,可访问性支持差 |
masonry | 是 | 内容可识别但位置错误 | 是,但有临时乱码 | API 使用不太方便 |
Maycoon | 无文本输入部件 | 未提及 | 未提及 | 太新,功能不完整 |
Pax | 无 Windows 支持 | 未提及 | 未提及 | 仅支持 macOS |
qmetaobject | 不支持 windows - msvc | 未提及 | 未提及 | 与特定目标不兼容 |
relm | 使用不再维护的 GTK 3 | 未提及 | 未提及 | 依赖过时库 |
Relm4 | 是 | 否 | 是 | 基于 GTK 4,继承其问题 |
Ribir | 部分支持,但状态管理混乱 | 否 | 部分支持 | 状态管理机制有问题 |
Rinf | 不使用 Rust 构建 GUI | 未提及 | 未提及 | 不符合调研需求 |
rui | 是 | 否 | 否 | 状态管理可能较繁琐 |
Slint | 是 | 是 | 部分支持 | 有自己的 DSL,数据绑定功能巧妙,默认字体可能存在问题 |
Tauri | 是 | 是 | 部分支持 | 前端与后端通信存在问题,缺乏类型安全 |
tinyfiledialogs | 非通用 GUI 库 | 未提及 | 未提及 | 功能有限,无法完成任务 |
Tk | 是 | 否 | 是 | 安装和使用复杂,依赖外部库 |
Vizia | 是 | 结构可识别但内容不可识别 | 部分支持 | 文本字段聚焦时样式有问题 |
WebRender | 太低级,不适用于 GUI 开发 | 未提及 | 未提及 | 无 GUI 组件,是低级别图形库 |
windows | 不熟悉 Win32 API | 未提及 | 未提及 | 缺乏 GUI 开发指导 |
WinSafe | 是 | 是 | 是 | 手动布局不佳,存在窗口创建时序问题 |
Xilem | 是 | 内容可识别但位置错误 | 是,但有临时乱码 | 缺乏版本管理 |
本次调研涵盖 43 种 Rust GUI 库,各库在功能、易用性、可访问性和 IME 支持等方面表现差异较大。
作者推荐了几个表现较好的库:喜欢 CSS 布局可选 Dioxus;青睐 DSL 驱动的用户可选择 Slint;想避免 DSL 和宏,只用常规 Rust 代码的可考虑 egui;愿意早期投资的可关注 Xilem。虽然没有绝对完美的选择,但相比 2021 年,如今有更多合理的选项可供开发者选择。
原文:https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-gui-libraries.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Verus —— 用于验证 Rust 代码正确性的工具
Verus 是一款用于验证 Rust 代码正确性的工具。开发者编写代码功能规范,Verus 会静态检查可执行的 Rust 代码是否始终满足所有可能执行场景下的规范。 Verus 并非添加运行时检查,而是依靠强大的求解器来验证代码的正确性。Verus 目前支持 Rust 的一个子集(开发团队正在努力扩展),在某些情况下,它允许开发者超越标准 Rust 类型系统,静态检查代码的正确性,例如操作原始指针的代码。 Verus 的目标是: 提供纯数学语言来表达规范(如 Dafny、Creusot、F*、Coq、Isabelle/HOL) 提供一种基于经典逻辑(如 Dafny)的数学语言来表达证明(如 Dafny、F*、Coq、Isabelle/HOL) 提供一种基于 Rust(如 Prusti、Creusot 和 Aeneas)的低级、命令式语言来表达可执行代码(如 VCC) 根据以下原则, 生成小型、简单的验证条件,以便Z3等 SMT 求解器能够有效地解决这些条件: 使数学规范语言接近 SMT 求解器的数学语言(如 Boogie) 使用轻量级线性类型检查(而不是 SMT 求解)来推理内存和别名...
- 下一篇
抖音:利用 AI 治理 Q1 封禁黑产账号 260 万个
抖音发布《2025第一季度黑产治理数据报告》指出,今年第一季度,抖音封禁水军、欺诈和违规导流相关黑产账号260万个,并将涉嫌违法犯罪的线索上报有关部门。 公告称,在大模型基础上,通过构建以 AI 为核心的治理体系,构建覆盖风险感知、智能决策、闭环处置的治理体系,系统性提升AI在复杂场景下的风险治理应用,单个案例的处理时间达秒级,各环节运行综合准确率达到85%以上。 以水军治理为例,利用 AI 能力搭建智能机器人工具,实现了风险发现、预警、巡检、研判和回扫等环节的自动化运营。这使得平台在“刷量”识别和处置上的效率大幅提升,不仅能3分钟内完成自动研判,且准确率高达95%以上。 在今年第一季度的试运行中,平台网络水军服务违规的巡检效率提升了10.25倍,日均拦截违规请求6000万次,封禁水军账号超20万个。 在欺诈治理方面,进一步完善了仿冒、购物、刷单、交友等多个场景的安全模型。2025年至今,抖音共封禁欺诈相关账号140万个,每日下发提醒短信超80万条,拨打反诈预警电话近17万次。 针对违规导流问题,在AI技术的深度运用下,一季度站内相关违规的举报量下降了73.3%,平台封禁导流违规账号近...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8