我为富客户端应用程序选择哪种Windows API?

Geo*_*d85 6 c++ windows cross-platform visual-c++

我在Mac OS X和Linux上开发了丰富的客户端软件.我希望将应用程序移植到Windows而不是Microsoft产品的用户,我对Windows一般不太熟悉.

我熟悉的:

在Mac OS X上,我可以选择Cocoa和Objective C或Carbon和C/C++.在Linux上,我可以选择GTK +和C/C++或Qt和C++.我更喜欢Mac OS X上的Cocoa和Linux上的GTK +.用于Cocoa的Interface Builder和用于GTK +的Glade让我的生活变得轻松.这是有趣的这些操作系统中创建丰富的客户端.

我的核心类,或MVC中的"模型",是用跨平台的C++编写的.MVC中的用户界面类或"视图和控制器"以每个相应平台的"首选"语言和GUI API编写.

C++是我最熟悉的语言.我广泛使用Bo​​ost库.特别是智能指针,线程和asio网络库.对于Unicode,本地化等,我使用Unicode的国际组件(ICU).

问题1:与我的跨平台模型类兼容的Windows平台的"首选"语言和GUI API是什么?

问题2:如何访问我的跨平台模型类?

例如,在Mac OS X上,我通过控制器类访问我的模型类.控制器类在Objective-C++中实现.Objective-C++是C++和Objective-C的混合体.在Objective-C中查看对象"与"控制器对象"对话",而控制器对象在C++中与"模型对象"对话.

在Linux上,所有类都是用C++实现的.

ano*_*439 1

GTK+ 在 Windows 上运行得很好。如果您已经熟悉它,那就是我会使用的。尽管性能可能无法与本机 Windows UI 库(如 MFC)相匹配,但它已经足够好了,除非您的应用程序确实依赖于 ui 性能。在所有平台上使用 GTK+ 的一个重要例子是Pidgin

如果没有看到一些代码,就无法真正回答你的第二个问题,但我不明白为什么它与其他平台上的模型视图控制器方法不同。