Iced 是一个为 Rust 语言设计的开源跨平台 GUI(图形用户界面)库,受到 Elm 的架构启发。它以简洁易用、类型安全 (type-safe)、反应式 (reactive) API 为原则。
Iced 支持主流桌面系统 (Windows、macOS、Linux) 以及 Web,有响应式布局 (responsive layout)、内建控件 (widgets),也允许开发者创建自定义控件,此外还提供了模块化生态 —— 包含 renderer-agnostic runtime、多个 renderer(如基于 GPU 的 “wgpu”、或软件渲染的 “tiny-skia”)等,可根据场景选用合适方案。
该项目近日发布了主要 (major) 更新 Iced 0.14,下面是重要更新/新特性:
新增 “reactive rendering”(响应式渲染)— 更好地支持 UI 的响应式更新。
支持 “time-travel debugging” (时光旅行调试 / 回溯调试) — 允许开发者查看、回退/前进应用过去的状态序列,这对调试状态变化非常有帮助。
支持 headless 测试 (headless testing)— 意味着可以在无 GUI 界面的环境下运行测试,这对于自动化测试更友好。
改进对输入方法 (input methods) 的支持 — 这是对多语言 (例如中文/日文等) 输入支持的重要增强。
并发图像解码与上传 (concurrent image decoding and uploading) — 可提高在图像处理、加载时的性能和响应性。
支持 “hot reloading” (热重载)— 在开发时无需重启应用,就能看到 UI/代码更改后的效果,加快开发迭代。
支持 “smart scrollbars”(智能滚动条)、新增若干控件 (widgets) — 提供更丰富、更现代的用户界面构建能力。
Iced 因为其跨平台、响应式、类型安全、模块化等特点,在 Rust 社区里是较为受欢迎的 GUI 解决方案。
可以看到,许多 Rust 应用已经开始使用它,知名 Linux 桌面环境 COSMIC 就是 Iced 的重要用户。
通过 0.14 的更新,Iced 在可用性 (usability)、调试能力 (debugging)、测试能力 (testing)、多语言输入、多媒体处理 (图像) 等多个维度都有显著增强,这可能进一步推动更多 Rust 项目采用 Iced。
下载地址:https://github.com/iced-rs/iced/releases/tag/0.14.0