在工控行业中,客户端跨平台的需求极其罕见。一般有跨平台需求的多为服务端。客户端基本没有要求跨平台的。但是前几天有同学咨询这个问题,既然有人想了解,那就说一说吧。
.Net从.Net Framework升级到.Net Core后,ASP.Net Core总算支持跨平台了,我们可以把它们部署在非Windows系统平台上。但是桌面程序开发框架WinForm和WPF并不支持跨平台。不过微软推出了全新的MAUI(.NET Multi-Platform App UI的缩写)框架,该框架开发的应用支持部署在iOS、Android、macOS 和 Windows平台上。不过稍显遗憾的是,对于Linux平台,官方并没有支持,仅靠社区支持。
除了微软官方的MAUI框架外,开源社区还有几个比较流行的跨平台框架,其中最为成熟和流行的当属Avalonia了。除了支持iOS、Android、macOS 和 Windows平台操作系统外,Avalonia还特别强调了对Linux的支持。Avalonia的开发和WPF极为类似,也是使用XAML语言来构建UI视图。
Avalonia提供了基于Visual Studio 2022的扩展应用。可以很方便的使用它来开发应用。

图1 Avalonia模板
Avalonia同样支持MVVM的开发模式,优先选择ReactiveUI框架。应用开发完成后,按照官方文档可以发布到不同平台上。

图2 Avalonia开发的游戏
最后说一下Avalonia还有一个比较好看的第三方控件库SukiUI。如果对原生UI不是很满意的话,可以试下这款控件库。

图3 SukiUI

© 版权声明
文章版权归作者所有,未经允许请勿转载。
工控一般就win和Android,很少去搞什么linux,非要搞linux就用blazor就行,没必要非搞桌面