我們開發的 Rust GUI 框架 Ribir 開源了,感興趣的朋友可以來看看。 https://github.com/RibirX/Ribir。
相關文檔: https://ribir.org/zh/docs/introduction/
Ribir 是什麼
Ribir 是基於 Rust 開發的跨平台 GUI 框架,它的核心設計理念是應用程序 UI 的構建對數據結構邏輯是非侵入式的。
Ribir 的設計架構如下:
構建非侵入式的 GUI 應用
應用程序的數據結構是核心,不應該和 UI 邏輯耦合,UI 只是對數據結構的表達。使用 Ribir 進行應用程序開發,可以先設計應用程序的數據結構,再根據數據結構提供的 API 對應用程序的 UI 進行描述。
- 沒有其他狀態
- 沒有額外的通知機制
- 沒有任何需要繼承的基類
- 沒有其他限制
為什麼選擇 Rust
我們的目標是構建可本地編譯的高性能跨平台框架,於是我們有了兩個選擇:C++ 和 Rust。
最初我們傾向於 C++,因為 C++ 有更成熟的生態系統,而且我們有多年基於 C++ 開發大型工具的經驗。
但最終我們選擇了 Rust,兩個核心原因:
- Rust Trait:Rust 的 Trait 設計非常符合我們非侵入式設計的理念
- Procedure macro:我們使用 Rust 的過程宏進行 DSL 實現而無需藉助額外的工具。它與 Rust 的工具鏈結合使用時,提供了開箱即用的解決方案,增強了整體的開發體驗。
Ribir 現狀
目前 v0.1 版本完成核心框架設計,我們可以使用它構建示例應用,並且開發了一些應用程序,我們對它的使用體驗感到滿意。
但 Ribir 仍然處在非常早期的階段:
- 我們只是在有限的環境中測試和使用它,暫時無法應用到生產環境中。
- 存在一些已知問題,包括內存泄漏和性能問題,仍然需要解決。
- API 不穩定,可能在下一版本中被廢棄。
我們希望有更多人來嘗試它並向我們提供反饋,讓我們更好地完善它。
下一步計劃
接下來我們會重點關注:
- WebAssembly 支持,構建 Web 應用程序。
- 穩定核心 API。
反饋
歡迎大家關注我們的項目,我們會不定期發佈變更,詳細的變更信息可以在 Ribir 變更日誌中找到。
也歡迎大家在GitHub上關注我們的項目,並提供反饋信息。