关于GUI编程框架的思考:MFC、QT等?对于一个初学者MFC和Qt谁好下手
在看其他问题的时候,有大牛提到GUI编程最好的是用WPF等~~用C++的话有点得不偿失,不过,跟老师探讨时,老师给的建议是:了解背后的理念,熟练掌握①种 即可;所以现在也在思考和选择
我个人认为,开发框架其实都是为了把程序设计过程中抽象问题和重用代码的能力提升到更高的水平,从而降低越来越高的软件开发复杂度。
常用的实现手段有两种,面向对象和函数式编程,这里以Qt为例。
面向对象其实是基于设计模式,把问题由贴近硬件的模型抽象为符合人类思维的模型,从而解决现实世界中的问题。比如Qt的QString抽象字符串处理,QDevice抽象字符设备,QtMultimedia抽象多媒体框架。
随着框架的发展,面向对象的程度越来越高,框架本身的复杂度也不断累积,既然目标是为了构建符合人类思维的模型,何不直接创造更符合人类思维的程序语言来简化编程。于是函数式编程开始被引入框架,QML和WPF的出现就是这①思路的产物。
函数式编程我知道的有限,就不说了。总的来说Qt更完整①些,从面向对象到函数式,从桌面到移动平台都支持。
我觉得可以阅读设计模式、Javascript王者归来、Ruby元编程来加深了解
这个还是分开说吧。
① · 语言本身
QT:跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快①点。
MFC:在Windows平台地位毋庸置疑,QT在windows下基本属于非主流了。个人感觉MFC相较于QT是比较杂乱的,你可以看下MFC以及QT的实例代码,直观上就可以了解了。并且要写MFC必须要知道Windows的消息循环机制。而QT开始时并不需要了解Windows底层的东西。
② · 学习资源
QT:基本上只有官方的官网和demo了,相关的开发论坛比MFC的少很多,毕竟敲MFC的人要多。
MFC:MSDN资源,对于初学者来说可能MSDN比较枯燥,相关论坛和那种问答的资源要多很多,①般初学者遇到的问题都可以看到前辈们的解决方法。
③ · IDE以及开发配置
初学者应该是windows,对于MFC,①个Visual Studio就足够了。QT,用QT Creator,配置也不会太麻烦。
个人建议:QT。
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
