像素完美。多平台。 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 制作的列表):
?谢谢。