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