如何在Windows和Mac上提供本机用户界面?

时间:2012-01-17 09:02:56

标签: c++ objective-c windows macos

我知道可以用C ++编写代码并使用Objective C来制作本机Mac UI和Visual C ++来制作本机Windows UI。

有人可以指点我一个教程或编写示例代码,教会如何做到这一点?

我知道Qt或wxWidgets,但这不是我想要的解决方案。我真的很想给人一种本土的感觉。

1 个答案:

答案 0 :(得分:7)

虽然你说你知道Qt和wxWidgets,但我仍然建议你使用它们。你可以用它们做原生感觉的应用程序。

您将始终必须实现某种抽象层,因为Windows和Mac在其UI实现方式上存在很大差异。您需要找到常见的模式,找到如何抽象的方法,以便以类似的方式访问不同的东西。为此,您需要非常了解Windows和Mac编程。您将花费大量时间来寻找变通方法和搜索错误。对于Windows或Mac OS X的每次新迭代,您都需要开始解决错误和/或再次集成新行为。

如果您正在编写商业应用程序,使用跨平台库将为您节省大量时间和麻烦,从而节省资金。

编辑:好吧,如果你被迫走这条路,我建议这样做:

将应用程序分为两部分:一个后端,它不了解所有业务逻辑的UI,然后是UI部分。您需要将UI完全彼此分开,并且无法在它们之间共享很多代码。毕竟,如果你想找到共同点(例如,如果你想统一创建和使用按钮),你也可以再次使用跨平台的UI库......

好处是你可以使用每个操作系统可用的每个模糊UI功能。缺点是你需要维护两个UI,所以如果你向一个UI添加一个功能,你需要在另一个UI中重新实现它。

但您可能希望为后端使用跨平台库来统一文件处理,网络和线程等内容。