A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 酱悠先生 中级黑马   /  2014-4-9 19:48  /  8357 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 酱悠先生 于 2014-4-10 12:38 编辑

winform和WPF的区别

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

4 个回复

倒序浏览
WPF是为了统一桌面程序UI和Web UI而生的UI解决方案,可以做C/S 也可以做B/S,界面使用xaml的形式,应用不仅仅局限于winform ,还可以移植到网页上,使得网页拥有客户端的效果。 全新的数据banding,使得开发起来更加容易,界面与代码完全分开,便于维护 界面效果更加炫,用户体验效果更加棒,WPF技术可以目前较为流行的Surface技术相结合,实现像IPhone手机相似的,触摸屏技术,因此,在需要较好的视觉效果时,或者有更高的需求时,有能力的公司会选择使用WPF开发。。。。。。WinForm相对来说,属于应用型软件范畴,注重软件的客户端实现,我最先接触.net的时候接触的就是winform,不过想做漂亮的界面,感觉wpf更得心应手,不过wpf对GPU要求真心是高啊...

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
底层框架不一样,界面展现不一样。 参考资料 MFC 生成本机代码,自然是很快。可是,消息循环,减缓了界面显示速度。

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

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

开发效率上,MFC<WPF<winform  

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

开发成本,MFC〉wpf〉winform

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

界面执行效率上,MFC==WPF〉winform

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

开发灵活性上:wpf〉MFC〉winform

美观上:Wpf〉winform〉MFC

这一项中MFC下要开发出一个华丽的ui极其困难,也许你可以说你可以用控件,但是商业开发控件是要收费的!!Wpf很容易就可以做出vista那样的ui特效。mfc要写出这种效果不知要写到何年何月。
这样一来MFC存在的价值就更低了。效率和美观不如Wpf,开发效率又不如winform,预计不出10年,随着vista取代xp,mfc将会退出历史舞台。

内存使用上:wpf〉winform〉MFC

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

使用范围:wpf〉MFC==winform

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

以上这些是我看见论坛中别人的回答,自己觉得不错,就记在自己的笔记中了,希望能够帮到你

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
WPF可以手动写代码,个人感觉有点类似Java写桌面程序,WPF可以手写代码进行控制,也可以拖控件实现,总体来说WPF 做出来的UI效果,我感觉比WInform好

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
WPF:界面使用xml的形式,使得应用不仅仅局限于winforme ,更可以移植到网页(HTML5)上,使得网页拥有客户端的效果。          全新的数据banding,使得开发起来更加容易(三种banding形式)         界面与代码完全分开,便于维护         界面效果更加炫,用户体验效果更加棒  差不多就是这些了 具体用法肯定是说不清的,需要自己慢慢的学习,首先学会布局和css的应用,其次学会数据banding就ok了。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马