查看原文
其他

Uno Platform:.NET 跨平台UI框架的另一选择

Dm mingupup的学习记录
2024-09-14

前言

使用.NET构建跨平台应用已经不是什么新鲜事了,我们或许已经知道可以使用微软官方的MAUI与社区支持的Avalonia,今天介绍一款同样是社区支持的.NET 跨平台UI框架:UNO Platform。

Uno Platform介绍

Uno 平台是一个开源平台,用于快速构建单一代码库原生移动、Web、桌面和嵌入式应用程序。

它允许 C# 和 WinUI XAML 和/或 C# 代码在所有目标平台上运行,同时允许你控制每个像素。它开箱即用地支持 Fluent、Material 和 Cupertino 设计系统。Uno 平台实现了越来越多的 WinRT 和 WinUI API,例如 Microsoft.UI.Xaml,以使 WinUI 应用程序能够在具有本机性能的所有平台上运行。

在 Visual Studio 中使用 Windows 中的 WinUI 工具(如 XAML 热重载和 C# 热重载),尽可能在 Windows 上生成应用程序,然后验证应用程序是否在 iOS、Android、macOS 和 WebAssembly 上运行。

仓库地址:https://github.com/unoplatform/uno

官网:https://platform.uno

实践

到底好不好用得试了才知道。

在vs中安装Uno Platform扩展:

创建一个新项目,搜索Uno,选择以下项目模板:

避坑

项目路径不要包含中文,不然会报错。

会跳出模板向导。

选择框架:

选择平台,这里以桌面端与Android端为例:

选择MVVM模式:

其他默认,点创建。

项目结构如下所示:

运行桌面端。

选择框架,再选择启动模式:

以Windows桌面端 Unpackaged模式调试为例:

运行安卓端,切换框架,选择虚拟机还是物理机:

运行效果如下:

现在简单的入门程序已经完成了,如果你想进一步探索,推荐Uno.Samples这个仓库进行下一步的学习。

Uno.Samples仓库地址:https://github.com/unoplatform/Uno.Samples

写在最后

到这里可能会有个疑惑,.NET跨平台UI框架已经有MAUI、Avalonia、Uno Platform那构建跨平台项目的时候应该怎么选择呢?

我个人的看法是你的项目你做主,你想用啥都行,MAUI是微软官方的,文档资料方面可能是最多的也最容易找到的,但是不支持Linux是个硬伤,Avalonia完美支持Linux,但在移动端的支持可能没有Uno好,Uno 的桌面端可能没有Avalonia好,这两个的缺点都是国内文档资料都比较少,适合喜欢自己捣鼓的人,使用过程中的可能会遇到一些问题,网上也没太多资料,最好是去github官方仓库的Issues找找看。


继续滑动看下一个
mingupup的学习记录
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存