像素完美。多平台。 C# 和 Windows XAML。今天。
Uno平台是什麼?
Uno 平台是一個開源平台,用於快速建立單一程式碼庫本機行動、Web、桌面和嵌入式應用程式。
它允許 C# 和 WinUI XAML 和/或 C# 程式碼在所有目標平台上運行,同時允許您控制每個像素。它提供對 Fluent、Material 和 Cupertino 設計系統的開箱即用支援。 Uno Platform 實作了越來越多的 WinRT 和 WinUI API(例如Microsoft.UI.Xaml ) ,以使 WinUI 應用程式能夠在所有平台上以本機效能運作。
在 Visual Studio 中使用 Windows 中的 WinUI 工具(例如 XAML 熱重載和 C# 熱重載),盡可能在 Windows 上建立應用程序,然後驗證應用程式是否在 iOS、Android、macOS 和 WebAssembly 上運行。
請造訪我們的文件以了解更多詳細資訊。
入門
請參閱完整的入門指南,以了解如何開始使用 Visual Studio、Visual Studio Code 或 JetBrains Rider。
對於更大的範例和功能演示:
- 存取 Uno 畫廊儲存庫。
- 在瀏覽器中即時嘗試 WebAssembly Uno Playground。
Uno平台特點
- 支援的平台:
- Windows 10 和 Windows 11
- Windows 7(透過 Skia 桌面)
- iOS、MacOS (Catalyst) 和 Android(透過 .NET)
- 透過 .NET 執行時期 WebAssembly SDK 進行 WebAssembly
- Linux(透過帶有 X11 和 FrameBuffer 的 Skia Desktop)
- macOS(透過 Skia 桌面)
- 開發循環:
- 首先使用 Visual Studio 在 Windows 上進行開發
- 每次擊鍵時的 XAML 熱重載即時 XAML 版本
- Windows (VS2022/Rider/VS Code)、Linux 與 macOS (VS Code/Rider) 上的 C# 熱重載
- 盡可能晚在其他平台上驗證
- 在 VS Code、Rider、Codespaces 或 GitPod 中進行開發
- 適用於 WebAssembly、Linux、iOS 和 Android 的 XAML 和/或 C# 熱重載
- Uno.UITest,一個用於為 WebAssembly、iOS 和 Android 建立跨平台 UI 測試的函式庫。
- 跨平台控制:
- WinUI/UWP 程式碼支援:
- Windows 社群工具包
- Windows 社群工具包 (Uno Fork)
- 社群工具包 MVVM
- Microsoft XAML 行為
- 棱鏡
- 斯基亞夏普
- SkiaSharp.擴展
- ReactiveUI 官方
- Windows狀態觸發器
- 接收網
- 顏色代碼-通用
- LibVLCSharp
- 地圖使用者介面
- 即時圖表
- 任何 UWP 項目
- 響應式設計:
- 平台特定:
- 透過條件 XAML 的本機控制項和屬性
- 任何可用的現有 Xamarin iOS/Android 庫
- Xamarin.Forms 渲染器:
- 適用於 Xamarin.Forms 的 Uno 平台 WebAssembly 渲染器
實時 WebAssembly 應用程式
以下是使用 Uno Platform for WebAssembly 製作的即時應用程式的清單。
- Uno 平台遊樂場(來源)。
- Uno Gallery 示範了 Fluent 和 Material 指南的使用。
- NuGet 套件資源管理器(來源)。
- Uno 計算器,一個簡單但功能強大的 iOS/Android/WebAssembly C# 移植版計算器,隨 Windows 一起提供(原始碼)。也可以嘗試 iOS 版本、Android 版本和 Linux 版本。
- 社區工具包實驗室應用程式
- SkiaSharp 是 Uno 平台的分支,Skia 是基於 Google 的 Skia 圖形庫(來源)的 .NET 平台的跨平台 2D 圖形 API。
- Uno.WindowsCommunityToolkit(原始碼)。
- Uno.RoslynQuoter,一個基於 Roslyn 的 C# 分析工具(來源)。
- SQLite + Entity Framework Core 應用程序,結合 Roslyn、Entity Framework Core、SQLite 和 Uno 平台來操作瀏覽器內資料庫的示範。
- WebAssembly AOT RayTracer。
如果您已公開發布您的應用程序,請告訴我們,我們將在此處列出它!
有疑問嗎?功能要求?問題?
請務必造訪我們的常見問題、建立問題、開啟 GitHub 討論或造訪我們的 Discord 伺服器 - 我們的工程團隊和社群將能夠為您提供協助。
貢獻
您可以透過多種方式為 Uno 平台做出貢獻,因為 WinRT 和 WinUI API 非常大!閱讀我們的貢獻指南,了解我們的開發流程以及如何提出錯誤修復和改進建議。歡迎來到我們的 Discord,獲得有關如何貢獻的協助!
使用 GitPod.io 在瀏覽器中為 Uno 做出貢獻,請按照此處的指南進行操作。
貢獻者
感謝這些優秀的人(用 contrib.rocks 製作的清單):
?謝謝。