WPF到跨平台开发,最强大的跨平台UI框架是啥?
Posted
技术标签:
【中文标题】WPF到跨平台开发,最强大的跨平台UI框架是啥?【英文标题】:WPF to crossplatform development, What's the most powerful cross platform UI framework?WPF到跨平台开发,最强大的跨平台UI框架是什么? 【发布时间】:2011-07-05 20:38:25 【问题描述】:所以我们构建了一个 WPF 应用程序,现在我们的下一个版本也需要 Mac 版本。
Mono 显然会让人想起,但我们的应用程序的 UI 相当密集。有没有什么跨平台的东西可以远程接近 WPF 为您提供的应用程序样式?
当然,当前的应用程序是 C#,但如果我们需要返回到 C++ 以获得干净的 UI,那将不是问题。在这种情况下,您最终可能会重新用 C++ 编写两个单独的 UI,一个用于 cocoa,一个用于 win32?
【问题讨论】:
一种选择是将您的后端迁移到 C++,在 C# 中对其进行包装,并将您的 Windows UI 保留在 WPF 中,并在 Mac 上使用 Cocoa 您的后端应该与 UI 无关无论如何。如果 UI 是业务逻辑之上的一个层,而不是混入其中,它会使更新 UI 变得更加简单。 【参考方案1】:恕我直言,最好有两个 UI,一个用于 Windows,另一个用于使用 Objective-C/Cocoa 的 Mac。
如果不使用 ObjC/Cocoa,就很难在 Mac 上获得“原生”用户体验。在 Mac 上不使用 Cocoa 的程序可以在很远的地方被发现。
嗯,最后,这还取决于您的业务目标和您的价值主张。
【讨论】:
【参考方案2】:在 c++ 中使用 GTK+ 或 wxWidgets 或 Qt 或任何其他跨平台库。
【讨论】:
【参考方案3】:我建议采用 MVVM 或 MVC 方法。必要时用 C++ 编写的业务逻辑;托管 C++ 中的包装类和完全独立的视图。 WPF 已经通过从逻辑中拆分视图来帮助解决这个问题。现在对于 mac 部分,我不能为此提供一个好的 UI Sdk。但是,尽可能将业务逻辑与 UI 分离,这样就可以相当容易地使用您想要使用的任何 UI API。
【讨论】:
【参考方案4】:我一直是 Qt 的忠实粉丝
https://www.qt.io/developers/
一个非常不错的跨平台 C++ UI 框架
【讨论】:
【参考方案5】:使用Monobjc 或MonoMac 可能需要最少的努力,同时在Mac OS X 上仍具有不错的用户界面。如果你想偷懒,你总是可以使用 GTK#。它默认与 Mono 一起提供,并且还具有与 Linux 兼容的额外好处。
【讨论】:
以上是关于WPF到跨平台开发,最强大的跨平台UI框架是啥?的主要内容,如果未能解决你的问题,请参考以下文章