WPF的跨平台替代方案

时间:2011-03-31 13:35:38

标签: c# wpf vb.net mono monomac

所有,我正在考虑将我的应用程序从VB.net移植到基于C#的MONO项目,因此它可以在Windows和Mac上运行。但是,我需要一个Mac友好的替代WPF。它必须具有非常相似的功能。 QML(通过QT)不是一个可行的选择,因为它为我们花费了太多的钱。

5 个答案:

答案 0 :(得分:8)

还有https://github.com/AvaloniaUI/Avalonia受WPF启发的多平台.NET UI框架

答案 1 :(得分:6)

Miguel de Icaza建议使用MonoMac代替WPF for Mac,如here所述。正如他解释的那样,没有计划以单声道实现WPF。

MonoMac是一项正在进行的工作。 Cocoa APIs are not wrapped yet的某些部分。您应该从samples开始,了解可能的内容。

您必须在公共引擎上构建两个不同的UI,但这通常是一个很好的关注点分离。

对于具有GTK#的用户界面,还有一个可能的公共代码库。

答案 2 :(得分:4)

根据应用程序的功能,您可以将应用程序移植到Silverlight / Moonlight。 Silverlight is supported on the MAC,但Linux需要Moonlight。当然,如果您正在使用客户端计算机的文件系统进行大量工作,那么这不是一个选项。

答案 3 :(得分:3)

我已经接受了一段时间的答案,如果有人看到这个问题,我想发布我目前正在做的事情。

我目前正在使用带有PyGTK的Python用于GUI,而GStreamer用于视频。这产生的结果几乎与WPF相同(除了一些硬编码动画)。此外,它可以在Windows,Mac和Linux上运行。

编辑:GStreamer没有出于我的目的。虽然它在大多数情况下运行良好,但我无法在视频上叠加透明的.png图像。我最终切换到Adobe Flash(Adobe AIR)。

编辑2:对于后来遇到这种情况的人来说,当SWF的未来出现问题时,我的公司开始使用Gtk + / gtkmm和Cairo的一些组件构建我们自己的C ++动画系统。最终,这属于另一个答案的建议......将GUI与平台分开。

答案 4 :(得分:0)

https://www.noesisengine.com/

是 xaml/wpf 的另一种替代方案,也适用于视频游戏引擎。它目前拥有高达 10 万美元的独立/免费层级收入,并且是跨平台的。