如何通过UNO平台将我的WPF应用程序迁移到基于Linux的应用程序?

2w3kk1z5  于 2023-10-22  发布在  Linux
关注(0)|答案(2)|浏览(329)

我想将现有的WPF应用程序移植到Linux操作系统的Uno平台。为此,我需要遵循哪些步骤?哪些API不兼容,如何解决这些问题?代码的哪些部分会不同,我如何解决它们?此外,我如何将其性能方面与Avalonia,MAUI和WinUI等其他产品进行比较?我将感激你的帮助。
我试着浏览了一下UNO平台的资源。但实际上,我无法决定我应该从哪里开始.

7gs2gvoe

7gs2gvoe1#

最重要的答案是,您应该尝试所有可能的解决方案,并进行概念验证,看看什么最适合您。
将WPF应用程序转换为Web的步骤在这里概述https://platform.uno/docs/articles/wpf-migration.html。虽然这不是Linux,但该文档的一个很好的部分适用-您的WPF代码将需要首先转换为WinUI(或UWP)。之后,您的应用程序可以通过使用Uno Platform作为“桥梁”技术在所有平台上运行。
您可以在https://platform.uno/docs/articles/implemented-views.html#implemented---android--ios-only查看已实现的视图列表。
萨沙

0mkxixxg

0mkxixxg2#

乌诺是个陷阱它将需要同样多的努力转换为Avalonia,这是你应该做的,如果你想让它仍然是一个桌面应用程序。我们尝试了所有这些,Avalonia是一个真正感觉像WPF的精神继承者,加上维护者实际上是无毒的,并愿意帮助人们,这在这个自由和开源软件傲慢的时代是非常罕见的。随着v11的发布,产品真正变得成熟和稳定/快速。样式系统更像CSS,但是一旦你掌握了它(特别是如果你使用动画),它实际上比WPF更有意义。
但最大的问题不是不同工具集的技术复杂性,而是缺乏第三方支持。如果您使用并严重依赖第三方控件,如Telerik/Devexpress/Infragistics/等用于WPF,那么无论您选择哪种路径,您都将处于困境。他们中的任何一个都没有兴趣将他们的WPF产品移植到其他类似的平台上(至少在写这篇文章的时候,如果他们决定将来醒来的话)。即使是Uno的支持也非常有限和稀缺。这是我们通过迁移接受的惩罚,对于最关键的组件有(相当好的)社区替代方案,但您将不得不根据应用程序的性质给予一些可视化。

相关问题