Robius:用 Rust 開發多平臺應用
01. 項目簡介
Robius 是一個完全開源的、去中心化的、由社區驅動的項目,旨在讓 Rust 成爲多平臺應用開發的理想選擇。
Robius 組織還作爲一個非正式的工作組:一個友好、公開的空間,收集並討論與改善和進一步推動 Rust 中的應用開發體驗相關的資源。
有問題嗎?想加入我們嗎?想貢獻嗎?請加入我們在 Matrix 聊天平臺上的 Robius 社區。
02. 我們的願景
我們相信 Rust 編程語言是下一代應用程序開發人員的正確選擇,但是我們認爲該語言生態系統需要更多的關注和照顧,以便使其在應用程序開發的世界中成爲一個一流公民,尤其是在移動平臺上。
我們設想一個未來:
-
Rust 開發人員可以在多種平臺上創建安全、美觀和健壯的應用程序,尤其是在移動平臺上執行高效且性能優越。
-
使用其他語言的前端開發人員受到鼓勵,嘗試投身於 Rust 的世界,並實現無縫過渡體驗,以克服通常與 Rust 相關的陡峭的學習曲線。
-
Rust 生態系統得到拓展和加強,向其他領域的 Rust 專家展示 Rust 非常適合應用開發,不僅僅侷限於低級系統和嵌入式編程。
03.Robius 的名字意味着什麼?
Robius 的名字來源於拉丁語單詞 [robius],意爲紅色,如牛、小麥、鐵鏽等。這使得這個名字與 Rust(我們選擇的編程語言)有了基於顏色的聯繫。
Robius 與 Mobius 押韻,我們的標誌 / 圖標從 “Rust” 和“Mobius 帶”的文字遊戲組合中獲取靈感。
是的,從技術上講,原來的德國名字是 Möbius,但我們都使用美式發音,並帶有長 "o" 音:"Roe-bee-us" / ˈɹoʊˈbiəs。
04. 當前狀態
Robius 是一個全新的願景,我們剛剛開始啓動。
目前,開始使用它的最佳方法是直接使用 [推薦的 UI 工具包] 來構建應用程序的 UI 並定義其 UX 行爲。目前,除了 UI 之外,其他一切都要求您自己添加缺失的部分,例如網絡連接、異步多任務處理和對其他設備外設或系統服務的訪問。
所有東西都在這裏公開開發,所以請經常查看 [更新]!我們計劃在 2024 年初至中旬推出 Robius 系統的 pre-alpha 版本(包括應用程序下面的所有內容),這將使您更容易訪問和整合其他平臺 / 操作系統功能,同時還可以使用 UI 工具包。
平臺支持
即將推出:一個表格,其中列出了在哪些平臺上支持哪些應用開發功能。
05. 關鍵社區項目
Robius 生態系統包括幾個獨立的項目,這些項目可以組合成一個完整的系統堆棧,實現跨多個平臺的快速、無痛的純 Rust 應用開發。組件之間松耦合,允許開發人員(在未來)自定義使用哪些組件來組成底層系統,例如選擇
-
Makepad 是一個正在積極開發的跨平臺 UI 工具包,提供了一種混合的保留模式和即時模式 UI 模型。
-
快速開發週期:由於自定義的最小依賴集和用於實時設計的自定義 DSL,編譯時間非常快,同時還支持 UI 元素的的熱重載。
-
Makepad Studio:一個使用 Makepad 本身構建的 IDE 原型,具有獨特的功能,如跨進程共享紋理以實現窗口內 UI 應用的實時重載,文件 / 窗口視圖的停靠標籤,超平滑的代碼摺疊等。
-
Makepad 框架:一個(不斷增長的)高性能小部件和最小、零 / 低開銷平臺抽象的集合。
-
Dioxus 是一個跨平臺的、生產就緒的 UI 工具包,受 React 啓發,使用自定義金屬語言 RSX 聲明 UI 元素 / 佈局,採用類似 HTML 的風格。
-
支持許多平臺,有一套可互換的目標渲染器,包括桌面、網絡應用、靜態網站、文本 UI、實時查看和移動設備。
-
快速且內存高效,具有完美的 Lighthouse 分數,性能比 Node 或 Python 好幾個數量級。
-
優秀的內置狀態管理抽象。
-
使用熟悉的 Vaniall CSS 或您選擇的 CSS 框架(例如 Tailwind)進行輕鬆、熟悉的樣式設置。
-
Osiris 是一套用於在各種操作系統服務和平臺特定功能之上開發沉浸式應用的 Rust 接口。
-
Osiris 旨在爲 Rust 應用程序提供一種簡單且規範化的方式來訪問諸如存儲、網絡、多媒體(視頻、音頻、攝像頭)、地理位置、設備方向(加速器、陀螺儀)、計時器和鬧鐘、通知、剪貼板、拖放等平臺功能。
-
osi
是主要暴露 OS 接口的 Rust 軟件包。在爲更多平臺提供原始接口之後,將很快提供更高層次的 Rust 抽象。 -
Osiris 提供構建工具,可以:
-
爲特定平臺集成組件設置新項目目錄,並在創建後自定義自動生成的腳手架。
-
生成符合各平臺政策的應用程序 artifact,例如可以發佈到常見應用商店(Google Play、Apple App Store、Microsoft Store 等)的軟件包。
-
ylong 是一個包含以下內容的異步運行時 for Rust:
-
基於優先級的任務調度。
-
用於自動並行化計算的抽象,以類似於 rayon 的方式提供並行迭代器,但適用於異步任務而不是本地(OS 級別)線程。
-
用於非阻塞異步 I/O、異步同步和異步計時的標準原語。
-
執行器和反應堆,分別用於調度任務和響應系統事件。
**06. 感興趣的倉庫 **
Robius 旨在提供整個應用程序系統堆棧的全功能參考設計,爲此將提供架構概述和詳細文檔。
我們還打算提供兩類實際應用程序:
-
旗艦應用:完整、功能齊全的應用程序,具有簡潔的 UI 設計、拋光的 UX 和功能性的業務邏輯。這些應用程序可以發佈到平臺應用商店。
-
簡單演示應用:一系列基本示例應用程序,展示幾個關鍵功能,並在其他地方使用模擬組件。
旗艦應用程序
-
Robrix:Robius 矩陣聊天客戶端。即將推出!
-
此應用程序的需求將是 Robius 開發的主要驅動力。
**簡單演示應用程序 **
-
[makepad_social_media_feed]:社交媒體信息流的移動 UI 演示。也請查看 Makepad 的最新示例:[Makepad 新聞推送]。
-
[makepad_taobao]:類似於 eBay 或淘寶的在線購物應用的 UI 演示。
-
[todo_makepad]:簡單的待辦事項列表應用程序。
-
[makepad_wechat]:類似於微信、WhatsApp、Signal 等聊天應用的聊天式應用 UI 演示。
-
[makepad_tiktok]:類似於 TikTok 的短視頻瀏覽應用的 UI 演示。
-
[makepad_widgets_sample]:展示 Makepad 提供的各種部件的應用程序。
-
[makepad_image_manipulation]:展示 Makepad 對高性能圖片進行有趣轉換的能力的示例。
-
7 個 GUI:在 Makepad 和 Dioxus 上選擇實現的 7 個 GUI 基準測試。
更多示例,請查看 [Dioxus 示例應用程序] 和 [Makepad 示例應用程序]。Osiris 特定示例即將推出。
07. 貢獻
-
我們歡迎任何人貢獻、提出想法和建議!我們也很樂意幫助您在 Robius 組織的傘下託管和維護您的項目。
-
如前所述,請隨時通過 [Matrix 聊天室的 Robius 社區] 與我們聯繫。
-
有關 Robius 更多信息請關注 [作者 Kevin Boos] 持續更新,祝大家玩得開心!
參考資料
-
[原文參考]:https://github.com/project-robius/.github/blob/main/profile/README.md
-
[robius 拉丁語解析]:http://latin-dictionary.net/definition/33662/robius-robia-robium
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/MenS_m3QXNMh9PfOG6HxQA