前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows程序设计:MFC 、Winform 和 WPF 比较[通俗易懂]

Windows程序设计:MFC 、Winform 和 WPF 比较[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-31 10:21:09
2.1K0
发布2022-07-31 10:21:09
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

MFC生成本机代码,自然是很快,可是消息循环减缓了界面显示速度。

WinForm封装了win32的api,多次进行P/invoke操作(大部分使用p/invoke操作封装),速度慢。

WPF是一种新的模型,不再使用win32模型,自己新建模型,使用dx作为新的显示技术,直接访问驱动程序,加快了运行速度,可是,这种模型,需要支持dx9的显卡,硬件要求高(你还能找到现代机器不支持dx9的吗?)

开发效率上,MFC < WPF < WinForm

尽管MFC开发界面执行效率高但是开发效率低,作为现在的项目开发来说时间跟开发效率往往能决定项目的成败,所以除非有特别的需求,否则都回尽量避免用MFC来做开发,MFC只是一个弱封装器。

开发成本,MFC > WPF > WinForm

用MFC开发成本太高,对开发者能力要求更高,作为客服当然希望开发的费用越少越好,开发者当然希望钱赚得越多越好,这样一比,这也是MFC没落的一个很大的原因。

界面执行效率上,MFC == WPF > WinForm

随着计算机硬件的性能提高,多核cpu的普及,它们的差距会越来越小。

开发灵活性上:WPF > MFC > WinForm

美观上:WPF > WinForm > MFC

这一项中MFC下要开发出一个华丽的ui极其困难,也许你可以说你可以用控件,但是商业开发控件是要收费的!!MFC要写出这种效果不知要写到何年何月。这样一来MFC存在的价值就更低了。效率和美观不如WPF,开发效率又不如WinForm。

内存使用上:WPF > WinForm > MFC

随着计算机硬件的性能提高WPF这个缺点会被忽略。

使用范围:WPF > MFC == WinForm

有以上可知:WPF大有取代WinForm和MFC之势,从未来net的发展来看,MFC以后只会变成一种经典,作为一种技术来供开发者学习,WinForm和WPF两者会并存发展,但最终都会被WPF取代,最终实现桌面应用程序和浏览器应用程序的统一。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128914.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档