介紹
Slint 是一個優秀的輕量級 Rust GUI 框架,支持目前桌面、移動、嵌入式多端平臺。使用聲明式語法 Slint 語言開發界面。Slint 語法與 Qt 的 QML 有異曲同工之妙,但是會更加簡單,也容易上手,同時非常容易綁定到 Rust/C++/Js語言,方便處理復雜的后臺邏輯和后端交互。Slint 代碼主要在文件后綴.slint
中編寫。
開發
通常有兩種方式可以高效編寫 Slint 代碼
SlintPad:https://slintpad.com/
一個網頁端的 Slint 代碼編輯和GUI預覽的工具,同時里面有豐富的案例可以學習和借鑒.支持代碼提示和屬性修改,也支持控件拖拽快速布局, 預覽支持交互仿真。
VScode:https://marketplace.visualstudio.com/items?itemName=Slint.slint
Slint 支持在 VSCode 中 編輯和預覽,體驗還不錯,只需要安裝 Slint 的插件即可。功能與 SlintPad基本一樣。
后臺處理
后臺處理支持 Rust/C++/Js三種語言,開發者可以選擇自己擅長的和適合自己業務場景的語言來開發后臺數據。不論選哪種語言,GUI 端的 Slint 無需特意針對后臺語言處理,定義好接口即可直接共享給任意后臺接口。
支持的平臺
目前 Slint已經可以在許多桌面端和嵌入式平臺、微處理器平臺上運行,經過目前測試能運行的平臺有:
- Windows 10/11
- MacOS 11/12/13
- Linux
- 嵌入式平臺
- NVidia
- STM32(H7、MP1)
- NXP(Imx8X/6/7, VF50/61)
- Texas Instruments
- ESP(ESP32-S3,C3)
- Respnerry Pi
- Respberry Pi Pico
- SWM341(本人移植)
官方示例
Energy Monitor Demo
IOT Dashboard
原生控件 Demo