现在学习Microsoft基础课程(MFC)是否值得?

uni*_*que 4 .net c++ winapi mfc

我是微软技术的忠实粉丝.学到很多.NET Framework和C#就像编程语言一样.但我相信.NET应用程序运行在.NET Framework之上,所以它们有点慢.然后我听说MFC是Windows开发的包装类,它是商业应用程序开发的标准(我的意思是不是业务级应用程序)所以我想知道现在学习MFC是否值得?还有其他选择吗?我想开发商业级应用程序感谢您阅读我的问题.

gbj*_*anb 14

不,我不会学习它 - 我会调查它以深入了解GUI类的一些工作方式,这样你就可以更广泛地理解这个古老而重要的技术.但我不会将其作为一种技术来学习,而是希望在未来创建新的GUI.忘掉MFC的非GUI部分,只有微软技术的忠实粉丝才会使用它们,其他人都使用了更好的库......

虽然你可以使用它编写出色的应用程序,例如TortoiseSVN,今天使用Winforms更容易,并给你相同的结果.是的,.net比本机代码慢,但对于GUI来说,你通常会受到人类对变化做出反应的速度的限制,因此"缓慢"的系统仍然没问题,除非它变得那么慢,显然是迟钝的或者反应迟钝.出于这个原因,我会跳过WPF,因为我知道有很多来自我自己和朋友的支持电话,他们都抱怨WPF的表现(网上还有很多关于WPF很差的人).

有替代品,Qt是一个很棒的GUI工具.wxWidgets是好的,也是跨平台的.今天对GUI的一般态度是它们应该是基于Web的,所以你最好建议学习ASP.NET MVC 4(不是旧版本),因为今天这个技术似乎有很多工作(明天)可能会有所不同!)

  • 我同意你所说的大部分内容.但我永远不会同意Qt是另一种选择.没有官方的支持,除非你要使用digia-route,但是那时没有64bit版本.它往往变得缓慢,跨平台支持显然使得几乎不可能实现适当的键盘导航.然后你就会不时地通过裂缝抓住平台细节.此外,它缺乏MFC与Windows Forms和WPF无缝集成的能力. (2认同)

Ser*_*sen 7

还有一些商店拥有MFC代码库,因为它经过良好测试的项目不能把它扔掉,对于那些它可能有用但是作为一个学习练习,最好直接学习MFC和.NET的Win32编程.

根据我的经验:PS3 Killzone系列的制造商的游击队游戏在MFC博世安全系统中有工具,我仍然使用MFC飞利浦医疗仍然有.

对于新开发,他们都使用不同的技术.

  • @ThomasW如果你没有花时间正确学习它,每个复杂的框架都会感觉"非常可怕".查看您的配置文件,您似乎不了解Windows API或C++,这对理解MFC是绝对必要的.我每天都和MFC一起工作,虽然我不能说我爱上了它但我必须得出结论:其他一切都更糟糕. (3认同)
  • @unique如果你需要,请研究它.如果你不这样做,不要.如果您在团队中工作,您将知道您是否需要它.如果你是技术主管,你不应该把它丢弃为*太旧*或*可怕*轻微.到目前为止,它是Windows开发的唯一本机框架,具有官方支持. (2认同)
  • @ThomasW我同意你的看法,MFC不是你最好的朋友.MS实际上说MFC并不是为了简化Win32 API而是为了给出一个OO架构.*仍然是*必须要了解API以使MFC程序在误解的重压下不会失败.更高级别的框架通常会通过隐藏内容来使事情变得更容易,因此编码器不会看到正在发生的事情.重点是,MFC*不会隐藏*Win32 API,所以如果你对MFC进行狂暴,它会*会*段错误或崩溃,这是有保证的. (2认同)