Iced 是一個(gè)為 Rust 語言設(shè)計(jì)的開源跨平臺(tái) GUI(圖形用戶界面)庫,受到 Elm 的架構(gòu)啟發(fā)。它以簡(jiǎn)潔易用、類型安全 (type-safe)、反應(yīng)式 (reactive) API 為原則。
Iced 支持主流桌面系統(tǒng) (Windows、macOS、Linux) 以及 Web,有響應(yīng)式布局 (responsive layout)、內(nèi)建控件 (widgets),也允許開發(fā)者創(chuàng)建自定義控件,此外還提供了模塊化生態(tài) —— 包含 renderer-agnostic runtime、多個(gè) renderer(如基于 GPU 的 “wgpu”、或軟件渲染的 “tiny-skia”)等,可根據(jù)場(chǎng)景選用合適方案。
![]()
該項(xiàng)目近日發(fā)布了主要 (major) 更新 Iced 0.14,下面是重要更新/新特性:
新增 “reactive rendering”(響應(yīng)式渲染)— 更好地支持 UI 的響應(yīng)式更新。
支持 “time-travel debugging” (時(shí)光旅行調(diào)試 / 回溯調(diào)試)— 允許開發(fā)者查看、回退/前進(jìn)應(yīng)用過去的狀態(tài)序列,這對(duì)調(diào)試狀態(tài)變化非常有幫助。
支持 headless 測(cè)試 (headless testing)— 意味著可以在無 GUI 界面的環(huán)境下運(yùn)行測(cè)試,這對(duì)于自動(dòng)化測(cè)試更友好。
改進(jìn)對(duì)輸入方法 (input methods) 的支持— 這是對(duì)多語言 (例如中文/日文等) 輸入支持的重要增強(qiáng)。
并發(fā)圖像解碼與上傳 (concurrent image decoding and uploading)— 可提高在圖像處理、加載時(shí)的性能和響應(yīng)性。
支持 “hot reloading” (熱重載)— 在開發(fā)時(shí)無需重啟應(yīng)用,就能看到 UI/代碼更改后的效果,加快開發(fā)迭代。
支持 “smart scrollbars”(智能滾動(dòng)條)、新增若干控件 (widgets) — 提供更豐富、更現(xiàn)代的用戶界面構(gòu)建能力。
Iced 因?yàn)槠淇缙脚_(tái)、響應(yīng)式、類型安全、模塊化等特點(diǎn),在 Rust 社區(qū)里是較為受歡迎的 GUI 解決方案。
![]()
![]()
可以看到, 許多 Rust 應(yīng)用已經(jīng)開始使用它,知名 Linux 桌面環(huán)境 COSMIC 就是 Iced 的重要用戶。
通過 0.14 的更新,Iced 在可用性 (usability)、調(diào)試能力 (debugging)、測(cè)試能力 (testing)、多語言輸入、多媒體處理 (圖像) 等多個(gè)維度都有顯著增強(qiáng),這可能進(jìn)一步推動(dòng)更多 Rust 項(xiàng)目采用 Iced。
下載地址:https://github.com/iced-rs/iced/releases/tag/0.14.0
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.