命令列工具
unoplatform/uno avatar
unoplatform/uno

Uno Platform:以單一 C#/XAML 程式碼庫打造跨平台 .NET 框架

用於從單一 C#/XAML 程式碼庫建立跨平臺本機行動、Web、桌面和嵌入式應用程式的開源平台。使用熱重載、視覺化設計器、MCP 和專為現代 .NET 工作流程建置的技能,從任何 IDE/CLI 進行工作。超過 2 億次 NuGet 下載。桌面(Windows、macOS 和 Linux):Uno 平台使用 Skia 在所有桌面平台上進行渲染,確保高效能、硬體加速的圖形和

10,053 個 Star882 個 ForkC#Apache-2.0

秒懂

它是什麼?
一個開源平台,用於從單一 C#/XAML 程式碼庫構建 Web、桌面、行動和嵌入式應用,使用 WinUI 3 API 和 Skia 渲染。
適合誰用?
Uno Platform 專案提供了一組工具和程式庫,使 .NET 開發人員能夠跨多個平台共享 C# 和 XAML 程式碼。README 詳細介紹了其功能和工具,但並未提供具體的效能基準、安全保證或支援政策。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 C#(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

Uno Platform 是什麼

Uno Platform 是一個開源的開發者平台,用於構建跨平台 .NET 應用程式。根據 README,它允許開發人員從單一程式碼庫編寫應用,並能在 Web、桌面、行動和嵌入式系統上原生運行。它使用 WinUI 3 API 介面,讓開發人員可以複用現有的 C# 和 XAML 技能。該專案的描述指出它已獲得 200M+ 的 NuGet 下載量,但 README 中提到的數字是 130+ 百萬。倉庫元數據顯示該專案有 10,002 個星標和 872 個 fork,但 README 提到約 10,000 個星標。這些數字可能存在差異,需要進一步核實。

針對「Uno Platform 是什麼」的第 1 個核對面向,Uno Platform 的價值集中在 C#、XAML 與 WinUI 3 API 表面能否覆蓋團隊的 UI 需求。建立專案前可用 Uno.Check 檢查 workload,再用 Template Wizard 產生目標平台,將 Windows、Android、iOS、WebAssembly 與 Skia Desktop 分開編譯。

在「Uno Platform 是什麼」這個範圍內,uno 的核對點是第 1 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

跨平台支援與渲染

根據 README,Uno Platform 支援為 iOS 和 Android 構建原生應用,使用 C# 和 XAML。在 Web 上,它支援 WebAssembly,並複用現有的 C# 和 XAML 技能。對於桌面平台(Windows、macOS 和 Linux),它使用 Skia 進行渲染。在 Windows 上,Skia 在 Win32 shell 中運行;在 macOS 上,在 AppKit shell 中運行(如果可用則使用 Metal);在 Linux 上,在 X11 shell 中或直接渲染到幀緩衝器用於嵌入式場景。同時,它支援 Windows 10 和 11,以及通過 Skia Desktop 支援 Windows 7。

針對「跨平台支援與渲染」的第 2 個核對面向,Skia 統一繪製有利於跨桌面平台維持視覺一致,Native Rendering 則適合需要 UIKit 等原生控制項語意的情況。README 描述了 Hot Reload、Hot Design、Uno MCP 與 App MCP,但沒有提供不同渲染路徑的效能數字,也沒有承諾所有控制項在每個目標完全等價。

在「跨平台支援與渲染」這個範圍內,uno 的核對點是第 2 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

開發循環與具

README 描述了兩種渲染方式:統一 Skia 渲染和原生渲染。統一 Skia 渲染使用基於 Skia 的引擎在畫布上繪製 UI,以確保一致的效能和動畫。原生渲染將 XAML UI 轉換為原生平台控制項,例如 iOS 上的 UIKit,以提供平台原生的外觀和感覺。開發循環包括在 Visual Studio、Rider 或 VS Code 等首選 IDE 中開發,支援 XAML 和 C# 的 Hot Reload,適用於 WebAssembly、macOS、Linux、Windows、iOS 和 Android。還提到了 Uno.UITest,一個用於創建跨平台 UI 測試的程式庫。

針對「開發循環與工具」的第 3 個核對面向,Uno Platform 的價值集中在 C#、XAML 與 WinUI 3 API 表面能否覆蓋團隊的 UI 需求。建立專案前可用 Uno.Check 檢查 workload,再用 Template Wizard 產生目標平台,將 Windows、Android、iOS、WebAssembly 與 Skia Desktop 分開編譯。

在「開發循環與工具」這個範圍內,uno 的核對點是第 3 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

控制項、主題與狀態管

該專案提供了對 WinUI、Windows Community Toolkit、Uno Toolkit 和第三方供應商的數百個 UI 元件的訪問,甚至包括 .NET MAUI 控制項。主題化支援 Material、Fluent 或 Cupertino 樣式。狀態管理可以選擇熟悉的 MVVM 模式或現代的 MVUX 方法。還提供了用於導航、日誌和依賴注入的擴充程式庫。非 UI 的跨平台 API 可用於訪問感測器和安全儲存等原生裝置功能。

針對「控制項、主題與狀態管理」的第 4 個核對面向,Skia 統一繪製有利於跨桌面平台維持視覺一致,Native Rendering 則適合需要 UIKit 等原生控制項語意的情況。README 描述了 Hot Reload、Hot Design、Uno MCP 與 App MCP,但沒有提供不同渲染路徑的效能數字,也沒有承諾所有控制項在每個目標完全等價。

在「控制項、主題與狀態管理」這個範圍內,uno 的核對點是第 4 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

Uno Platform Studio 與 AI 具

README 介紹了 Uno Platform Studio,一個 AI 原生的生產力套件。它包含 Studio App,可以從提示或 Gallery 樣本生成可運行的跨平台應用;Studio Agent,一個編排層,使 AI 具備 Uno 感知能力,能夠看到運行中的應用,了解設計系統,並驗證所有目標的變更,同時支援人工參與循環。它通過 uno-platform-studio 外掛為 Claude Code、GitHub Copilot 和 OpenAI Codex 提供了 70 多個技能。Hot Design 是一個運行時視覺設計器,可以將即時應用轉換為設計表面。Hot Reload 允許在運行中的應用上即時修改 XAML 和 C#。Design-to-Code 可以將 Figma 設計匯出為 XAML 或 C# 標記。

針對「Uno Platform Studio 與 AI 工具」的第 5 個核對面向,Uno Platform 的價值集中在 C#、XAML 與 WinUI 3 API 表面能否覆蓋團隊的 UI 需求。建立專案前可用 Uno.Check 檢查 workload,再用 Template Wizard 產生目標平台,將 Windows、Android、iOS、WebAssembly 與 Skia Desktop 分開編譯。

在「Uno Platform Studio 與 AI 工具」這個範圍內,uno 的核對點是第 5 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

快速入門與文件

快速入門指南建議使用 Uno.Check 命令列工具檢查並配置開發環境。然後使用 IDE 中的模板精靈或命令列創建新專案。README 沒有提供具體的命令,而是將使用者引導至官方文件。它還列出了學習資源,包括官方文件、Uno Playground、Uno Gallery、研討會和程式碼範例、案例研究、部落格、Discord 伺服器和 YouTube 播放清單。

針對「快速入門與文件」的第 6 個核對面向,Skia 統一繪製有利於跨桌面平台維持視覺一致,Native Rendering 則適合需要 UIKit 等原生控制項語意的情況。README 描述了 Hot Reload、Hot Design、Uno MCP 與 App MCP,但沒有提供不同渲染路徑的效能數字,也沒有承諾所有控制項在每個目標完全等價。

在「快速入門與文件」這個範圍內,uno 的核對點是第 6 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

貢獻、授權與社群

該專案歡迎貢獻,並指向 CONTRIBUTING.md 檔案。根據倉庫元數據,該倉庫以 Apache-2.0 授權。README 指出它擁有超過 300 名貢獻者,並用於豐田、微軟和 Kahua 等企業客戶的關鍵任務應用。然而,README 中提到的下載量(130+ 百萬)與倉庫描述(200M+)之間存在差異。授權的具體條款未在 README 中詳細說明,但 Apache-2.0 通常允許使用、修改和分發,但需要保留版權聲明並註明更改。關於支援、保證或安全的具體承諾,來源並未提及。

針對「貢獻、授權與社群」的第 7 個核對面向,Uno Platform 的價值集中在 C#、XAML 與 WinUI 3 API 表面能否覆蓋團隊的 UI 需求。建立專案前可用 Uno.Check 檢查 workload,再用 Template Wizard 產生目標平台,將 Windows、Android、iOS、WebAssembly 與 Skia Desktop 分開編譯。

在「貢獻、授權與社群」這個範圍內,uno 的核對點是第 7 節所列的輸入與輸出。README 沒有說明更細的相容性或效能保證,因此本文只把已記錄的命令、檔案與設定鍵當作可核對的範圍。

編輯結論

Uno Platform 專案提供了一組工具和程式庫,使 .NET 開發人員能夠跨多個平台共享 C# 和 XAML 程式碼。README 詳細介紹了其功能和工具,但並未提供具體的效能基準、安全保證或支援政策。 對 uno 而言,先按 README 的專屬命令與檔案完成最小流程,再核對輸出、權限與失敗行為;不適合把未記載的平台支援或效能承諾當成既定事實。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記