首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于一个富客户端应用程序,我应该选择什么Windows?

对于一个富客户端应用程序,我应该选择什么Windows?
EN

Stack Overflow用户
提问于 2008-11-12 14:31:30
回答 6查看 862关注 0票数 6

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

我熟悉的是:

在Mac上,我可以选择Cocoa和目标C或C/C++。在Linux上,我可以选择GTK+和C/C++或Qt和C++。我更喜欢Mac上的Cocoa和Linux上的GTK+。Cocoa的接口生成器和GTK+的Glade使我的生活更加轻松。在这些操作系统中创建富客户端是乐趣

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

C++是我最熟悉的语言。我广泛地使用Boost库。特别是智能指针、线程和asio网络库。对于Unicode、本地化等,我使用(ICU)。

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

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

例如,在Mac上,我通过控制器类访问我的模型类。控制器类在Objective++环境下实现.目标C++是C++和目标C的混合。在objects中查看对象"talk to“控制器对象,而在C++中查看控制器对象”交谈“模型对象。

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

EN

回答 6

Stack Overflow用户

发布于 2008-11-12 14:49:16

Windows上并没有真正的“首选”语言和API,更像是很多选择。最明显的是直接到操作系统的原始Win32调用(所以实际上只是C调用),或者是上面的瘦抽象(例如WTL,C++模板库),或者更厚的抽象(例如MFC,也就是C++)。

微软最近正在大力推行WPF,但这是管理.NET世界的一部分。您可以在其中编写C++,这样您就可以移植应用程序,但我认为这将是很大的努力。

考虑到您在Linux上使用的是GTK+或QT,那么显而易见的是考虑使用这两种操作系统,因为两者都存在--这样您就可以使Linux和Windows的版本几乎完全相同。它们不是Windows专用应用程序的自然选择,因为它们不是来自Windows世界,但考虑到您的背景,它们将有很多意义。您可能需要花一些时间对它们进行调整,以使Windows应用程序看起来和感觉良好,但这不需要编写一个全新的表示层,就足以弥补这一点。

票数 4
EN

Stack Overflow用户

发布于 2008-11-12 16:09:19

Qt可以很好地处理窗口。而且,它是平台无关的。

票数 4
EN

Stack Overflow用户

发布于 2008-11-12 14:47:46

如果您可以让您的C++使用Visual工具链(而不是gcc或mingw)进行编译,我将非常建议您创建一个.lib,然后将其链接到一个C++/CLI程序集中,在其中将托管API公开给您的库。

然后,您可以使用C#和WinForms API或WPF,并拥有一个非常丰富的本地windows外观应用程序。这项工作是相当直截了当的,如果您愿意重写GUI,它将有最好的结果,是最容易部署的。

一个警告是,如果您需要它在可能不存在.NET的机器上工作--如果需要,我将坚持使用.NET 2.0 (和WinForms)。您还应该让安装程序检测和安装它。如果您不愿意安装.NET 3.5,请选择WPF。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/284103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档