最快(最简单)的GUI MFC或C#或QT或?

时间:2010-02-04 16:36:47

标签: c# user-interface mfc

我刚刚完成了我用C ++ / MFC编写的第一个真正的商业应用程序。

应用程序由安装在用户工作站上的代理组成,而工作站又由管理员工作站上的GUI应用程序控制。我出于这些原因选择C ++ / MFC。

  1. 因为我不知道C#
  2. 因为我不确定我需要多长时间才能在新的语言中变得富有成效
  3. 因为我不想在工作站上安装.NET运行时的麻烦,其中一些可能是W2K。
  4. 现在我想到的是我的第二个应用程序,它将再次包含一个代理和一个代理。 GUI应用程序。由于上述原因,我很高兴与代理继续在同一轨道上,但GUI应用程序将比第一个复杂得多。第一个GUI应用程序需要很长时间才能开发出来,虽然它是新制作的,但它看起来已经过时了。

    我应该用.net c#咬一口子弹还是看看像QT这样的东西。

    TIA。

8 个答案:

答案 0 :(得分:13)

如果您想要快速的结果,请使用.NET WinForms。除了德尔福之外,没有什么能比组装GUI应用程序和填充生命的速度快。即使在已经很好的Qt框架上,C#语言和.NET基类库也将为您带来巨大的生产力提升。如果您坚持使用基本的Windows窗体控件,它甚至可以在Mono上运行。

一旦你习惯了WPF,它的工作效率会更高,但是习惯它会花费比Windows Forms更多的时间。

答案 1 :(得分:6)

.NET C#是GUI应用程序的一个非常好的选择。这很简单,互联网上有很多资源。

我能想到的唯一反对它的是平台兼容性,但是如果你限制自己使用C ++ / MFC,那对你来说应该不是一个问题。

即使你想在一段时间之后再与平台无关,你也可以在Linux上用单独的Gtk(Mono,开源.NET框架)。哎呀,甚至有一个Cocoa(Mac OS X)绑定,我只是不知道它有多成熟。此外,Mono已经在很大程度上支持Windows Forms了......虽然我在C#上的主要经验是在Windows上,但我真的很惊讶我尝试它时的成熟程度。

对于GUI应用程序,您不会后悔使用C#。即使您想要跨平台,当然也不想只针对Windows客户端。

答案 2 :(得分:1)

C#几乎肯定会让你更有效率!

答案 3 :(得分:1)

Delphi。生成独立的Windows可执行文件,可以在Win2K上运行(微软有史以来最好的操作系统 - 这篇文章正在上面写)。唯一的缺点是Object Pascal,但是如果你知道C ++它很容易上手 - 它的设计就是购买设计C#的人。 IDE比使用VS的MFC高出几个数量级。

答案 4 :(得分:1)

我已经完成了所有这些 - 猴子可以使用C#,它是所有拖放接口和公共访问者。我不希望在我最大的敌人身上使用MFC,QT对我来说就像C#一样不直观。使C#看起来很漂亮也很容易。在C#中,改变颜色和闪烁控件等难题是微不足道的。它还具有内置样式。我每天都专业地使用它。我使用C ++的唯一一次是,如果我正在编写一个每微秒计数的服务器。

答案 5 :(得分:1)

第一个问题恰恰是导致使用MFC开发GUI的困难。它是MFC固有的,还是因为你正在学习一些新的东西,并且真的不知道你在做什么?换句话说,如果你今天必须再做一次,难度会有多大比较?

毫无疑问 - MFC是一个旧设计,远远超过它的问题,缺点和设计缺陷。 .NET比较新,但远远超过它在问题,缺点和设计缺陷方面的份额。

除此之外,.NET非常庞大。它的组织结构合理,这有所帮助,但要消化使用它所需的大量信息仍需要很长时间。同样,虽然C#(最明显的例子)是一种非常不错的语言,但学习如何使用它并不是一夜之间的任务。这可能是一个较小的问题:与C ++相比,C#并没有真正的新概念。例如,一个称职的C ++程序员几乎可以很容易地立即读取C#,虽然他可能不会以最佳方式使用它,但也可以立即写出C#位。

答案 6 :(得分:0)

你的第二个应用程序将在哪个平台上运行? 如果它是XP及以上我会建议C#/ WinForms / GDI。

答案 7 :(得分:0)

C#并不难以适应,并且在网上有很多例子,而且很棒的书(Head First一个引起了我的注意,因为你可以编写nethack克隆和其他有趣的项目)。我不得不自己从C ++过渡到C#,它根本不是那么粗糙(事实上它似乎是一个非常简单的过渡),并允许我快速原型。

祝你好运!