Uno 平台 一 WinUI终极跨平台方案
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uno 平台 一 WinUI终极跨平台方案相关的知识,希望对你有一定的参考价值。
以下是 Uno 平台的官方介绍:
关于 Uno 平台
Uno平台能够创建像素级完美的,只通过C#+XAML编写的应用程序,能够跨平台运行在Windows,ios,安卓,macOS,Linux和Web上,Uno 平台是免费和开源的 (Apache 2.0), 可在GitHub上使用。
简言之Uno 平台就是延续原有的Wpf、Silverligth、UWP、WinUI的开发技术,使用单一的C#+XAML方式开发应用,它不同于Xamarin.Form中的xaml,Uno 平台使用windows的标准xaml格式,最初的口号是UWPEverywhere,现在已经迁移到WinUI 3,口号也升级到WinUIEverywhere。对于有C#+XAML开发经验的人来说,Uno 平台绝对是WinUI跨平台的终极解决方案,甚至比Blazor更看好。我是从2017底年开始关注Uno平台的,那时平台才刚刚起步,Star也就一百左右吧,能发展到今天确实可喜可贺,据说Uno平台和WinUI开发组关系非常密切,没准哪天被收购了也不好说,我看国外的论坛好多支持Uno 平台的,毕竟老程序员的积累都能用的上,在后续文章中我会介绍一些基于Uno 平台实现的一些跨平台控件(GitHub地址)。
以下是 Uno 官方2021年3月22日发布的Blog:
等待结束了!Windows 的全新现代 UI 平台 - WinUI 3 和 Project Reunion 0.5 项目一起正式向公众发布。为了实现#WinUIEverywhere的承诺,在推出当天我们同时发布了 Uno 平台 3.6,在此我们非常感谢微软WindowsUI团队对我们的支持。
Uno Platform 3.6 已实现WinUI 3(Project Reunion) 运行在 Web, Linux, macOS, iOS 和 android 上,同时发布了新的日期拾取器和文件拾取器(打开,保存,文件夹)控件,具有新的Cupertino样的主题,并继续支持Windows社区工具包,已更新到最新版本-7.0!最后,我们进行了重组,并添加了更多帮助文档。
自 WinUI 成立以来我们就给自己设定了一个光荣使命:实现WinUI的跨平台,让开发人员能够使用 C# 和 Windows XAML 快速开发跨平台应用。对于您来说,您能够利用迄今为止在 Windows 开发人员生态系统中积累的所有内容,例如代码示例和文档、可访问性、本地化、安全性、键盘和触摸输入、第三方组件提供商等,并将所有这些重新用于您关心的目标平台。
虽然 WinUI 一直在预览,Uno Platform的NuGet包已有近 900K 的下载量,这些都告诉我们大家多么渴望一个多平台 UI 框架。最重要的是,Uno Platform承诺,将一直与您一起在开放可持续模式下推进平台,以确保其寿命。
微软项目经理迈克·哈什在我们的3.6官方新闻发布会上说 :"通过 WinUI 3 – Project Reunion,我们正在进行投资,使开发人员能够改善 Windows 体验。我们很高兴看到像 Uno 平台这样的开源项目通过将 WinUI 的覆盖范围扩展到 Web、Linux、macOS、iOS 和 Android 来进一步完成这一使命。”
视窗社区工具包 (WCT) 7.0
WCT 是微软支持的控件库,如 DataGrid 和扩展器,在基本框架的基础上提供高级功能。我们长期以来一直支持 WCT,也与 WCT 团队和开源社区密切合作,以确保 Uno 在 WCT 推出当天与 WCT 兼容。我们很高兴地宣布,您可以在您的项目中使用WCT 7.0。
日期选择器
DatePicker 为您提供了一种标准化的方式,允许用户使用触摸、鼠标或键盘输入来选择本地化日期值。这是一个伟大的代码重用的故事,因为我们能够采取超过11,000行的C++代码,以及超过600行的XAML不变代码,并使其运行在额外的5个平台上。此外,我们还能够重复使用 WinUI 的 30 多个单元测试。
文件操作
现在,您可以轻松地在 Windows、Android、iOS、macOS,甚至 WebAssembly中使用本机文件对话框选择文件和文件夹 - 所有内容均采用单个统一 API!有关示例和提示,请查看我们的文档!这意味着您只有一个源文件来维护任何文件拾取操作,当文件对话框出现时,它将看起来原生于您的用户正在打开的平台。
Cupertino主题
几个月前,我们为您提供了Fluent UI和Material主题,让您更快地构建美丽的应用程序。今天,我们又增加了一个主题——Cupertino。可以通过 Uno Gallery 查看 Fluent / Material / Cupertino 主题中的所有支持控件,决定哪些设计适合您的使用案例。
以上是关于Uno 平台 一 WinUI终极跨平台方案的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Uno 项目中使用 Xamarin Forms 控件?
Uno 平台中的 UIElement.InvalidateArrange() 和 UpdateLayout() 替代方案
是否可以在支持所有平台的 Uno 平台上使用 Blend for Visual Studio?