博客 / 詳情

返回

分享一個我們自己開發的 Rust 跨平台 GUI 框架

我們開發的 Rust GUI 框架 Ribir 開源了,感興趣的朋友可以來看看。 https://github.com/RibirX/Ribir。

相關文檔: https://ribir.org/zh/docs/introduction/

Ribir 是什麼

Ribir 是基於 Rust 開發的跨平台 GUI 框架,它的核心設計理念是應用程序 UI 的構建對數據結構邏輯是非侵入式的。

Ribir 的設計架構如下:

Ribir Architecture

構建非侵入式的 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上關注我們的項目,並提供反饋信息。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.