AI News HubLIVE
站內改寫2 分鐘閱讀

Slint:UI“氛圍編碼”的理想語言?

Slint是基於Rust的UI工具包,通過LSP實時反饋、熱重載和新推出的MCP協議,讓AI能夠直接查看和操作運行時界面,從而加速UI開發。支持頭模式在CI環境中運行,併兼容Rust、C++、Python和Node等多語言。

來源Hacker News AI作者: NigelBres

讓“氛圍編碼”更順暢

最近,一篇關於Rust是理想氛圍編碼語言的文章引起了我的思考。作為同時擔任UX設計師和開發者的我,通常通過構建真實原型來驗證設計——但這個過程很慢,五個想法往往只變成一個,最多兩個原型。

AI改變了這一切,它將實驗成本降低到幾乎“免費”,讓我能夠嘗試更多想法並更快學習。Slint是否會成為UI氛圍編碼的理想語言?它能避免應用程序不可避免的“草率化”嗎?我們能否用AI加速Slint開發流程?

基於LSP構建

當AI生成Slint代碼時,我們的LSP提供實時反饋,包括語法錯誤、綁定循環檢測和代碼檢查。熱重載省去了編譯步驟,AI可以邊生成邊修復錯誤。

AI技能

倉庫中有一個專門的“AI編碼助手”文檔頁面,用於在Claude Code、Codex和Cursor中安裝Slint技能。安裝後,編碼助手能充分利用Slint。

引入Slint MCP

AI的視覺推理能力有限。傳統方法掃描所有UI文件並猜測運行時界面,這既慢又易錯。新的Slint MCP無需外部服務,它被編譯到你的應用中,讓AI能夠查看內部狀態。雖然也可以截屏,但處理圖像緩慢且消耗大量token。相反,AI直接訪問真實的佈局樹,不再需要猜測UI外觀,它能查看運行時的當前狀態並響應問題。

讓AI與真實應用交互

MCP可以列出窗口、檢查窗口屬性、獲取/查詢元素樹、檢查可訪問性屬性,還能執行點擊、拖拽和鍵盤事件。這使得你可以設定目標,讓AI自行驗證進度。如果存在需要導航的視圖和對話框,AI可以自己驅動UI,找到正確頁面並截取結果。看到工作進展截圖出現在聊天窗口中時,效果非常神奇。

無頭MCP

Agent通常在CI、容器或沙箱中運行。你可以通過SLINT_BACKEND=headless運行MCP,包括截屏,無需顯示服務器。這樣AI仍然可以“看到”生成的內容並進行驗證。

與熱重載的配合

這是經典的UI開發循環。看似簡單,但Rust的編譯步驟通常需要幾分鐘。你知道嗎,即使是Slint Rust應用也能熱重載其UI?我們引入了一種方式,讓你的Rust應用以解釋器模式運行UI,並熱重載變化的Slint文件。只要Rust代碼或Slint UI與Rust之間的橋接API沒有變化,就無需重新編譯Rust。

當AI忙於更新代碼時,這個過程變得非常快。現在,這個循環與MCP交互,讓Agent能夠“看到”實時UI,更快地修復和驗證問題。

不止Rust

要開始使用,請查閲文檔。Slint技能將確保你為所有支持的語言(C++、Python和Node.js)設置好環境。如果你有Figma設計,使用Figma MCP並讓AI用Slint實現設計效果很好。你甚至可以將截圖拖入Claude或Codex桌面應用中測試。

這只是第一步。同樣的循環還有進一步降低token使用、更可預測地生成UI,以及通過更好的工具幫助你打磨和審查真實應用的機會。