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

Rom*_*man 2 c++ windows macos objective-c

我知道可以用C++编写代码并使用Objective C使本机Mac UI和Visual C++生成本机Windows UI.

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

注意

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

Dar*_*ust 7

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

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

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

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

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

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

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