DirectUI与java gui框架架有什么区别,如MFC,QT,wxWidgets的区别是什么

MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点?
MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点?
[摘要:WTL皆算没有上甚么Framework,便是行使泛型特征对Win API做了层启拆,计划思绪也出解脱MFC的影响,现实上用泛型做UI Framework也只能算是一次行动艺术,那个思绪下继承进展便会变]
WTL都算不上什么Framework,就是利用泛型特性对Win API做了层封装,设计思路也没摆脱MFC的影响,实际上用泛型做UI Framework也只能算是一次行为艺术,这个思路下继续发展就会变得没法用了,比如 代码过于复杂,编译太慢,出错不好调试等问题难以解决。
而且封装得也不完全,还是随处可见 HWND HDC之类的东西。
用途主要是写一些很小的程序,或者作为其他UI框架的后端实现部分,比如我写过一个小框架用来做安装卸载程序,非常小,其中创建管理窗口部分是用WTL的。
MFC是更高级点的Win API封装,比WTL封装彻底,很难见到HWND HDC了,也提供了不少实用工具类,比如高级控件,泛型容器,IO访问,网络协议等。除此之外,还提供了一些基本框架,比如 Document/View,这就是个MVC的简化版本,只有MV,但是对于数据的管理,消息的传递等又没有什么约束,导致Doc/View被用得乱七八糟。尤其是对事件处理的模型,消息映射是功能简陋,而且容易出错的方式,唯一优点是性能好。 从VC++ 1.X就有MFC了,那时整个UI界的设计思想都比较落后(除了Apple),MFC又背负了沉重的兼容性包袱,比如vc++
1.52的MFC程序到了vc2003稍加修改都可以编译,导致MFC后期没有什么发展,就是沿着老的思路完善了些细节,添加了些组件,但是根本性的设计问题没有改进。
GTK,这个吃了语言的亏,用C写面向对象实在是痛苦,虽然在思想上比MFC要先进了些,但是写出来的代码比MFC要罗嗦很多了。相比MFC,多了Layout的概念,事件处理上有了Signal/slot,虽然用起来很麻烦。
wxWidgets,这个基本就是个跨平台的MFC,对各个平台的差异做了抽象,实际上后端大多还是用平台原生的API实现,好多控件都是直接用系统原生的。有wxWidgets for GTK+的版本,后端就是GTK+,wxWidgets就是一层壳。这也是wxWidgets的优点,它编译出来的程序发行包比较小,性能也不错。
以上这些就是上世纪90年代的UI Framework技术水平了,至今它们也依然没有太多进步。
下面来谈谈21世纪的技术。
Qt,虽然它也是上世纪90年代出现的,但是它在21世纪有了长足的进步。应该说它的起点就比较高,一开始就定位跨平台,而且不满足于简单封装系统API,而是要自己创造出一套完整的API和框架,甚至要代替系统API,所以不仅仅是做UI,而是涉及到了APP开发所用到的所有东西,包括网络,数据库,多媒体,脚本引擎等。signal/slot是Qt发明的,这是事件通知模型里C++语言的最佳实现了,甚至我都觉得这该写进C++标准,估计C++委员会的老顽固们是从不写GUI的。
早期的QT也是没有DirectUI的概念的,每一个QWidget都对应一个原生窗口,从Qt4.4开始,只有顶层QWidget才是原生窗口,而Child Widget是Alien Widget,只是个抽象的图层不对应原生窗口,这就实现了DirectUI的概念,很多图形效果也就变得可能了,比如窗口层叠透明效果。
在4.8后实现了QPA(Qt Platform Abstraction),这就使移植Qt变得很容易,目前Qt是支持平台最多的框架没有之一。
由于早期授权的问题,Qt对于开源社区不是很友好,导致推广不太顺利,直到它改成了LGPL方式,如果Qt能早点想开了,恐怕就没有wxWidgets的生存空间了。
Qt的缺点也是有的,就是太大,不过可以自己剪裁,我可以把QT库剪裁到发行包压缩后2.5MB。
WPF,微软在Win Form的思路上走到死胡同后,终于痛下决心用正确的方法开发UI库了。21世纪的UI一定是定义出来的,绝对不能是代码写出来的,所以有了XAML这个强大的定义工具,不但可以定义UI布局,还包括图形动画效果,消息响应方式等。配合C#这种优秀的语言,更是如虎添翼。但是问题也很明显,就是过于庞大,不仅开发时要用到庞大的IDE和设计工具,发行的安装包也十分巨大,所以目前还是很少有人拿他写通用软件客户端的,大多是做企业项目时写专用客户端。
大概4-5年前吧疼讯曾经用WPF写了个QQ,但是只实现了基本功能就已经比C++客户端大好多了,而且运行缓慢,主要是太吃内存,而且那时WPF的优化还不充分。
最后我想补充下真正的UI库之王,cocoa。
Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。
定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计工具。
严格的MVC,而且定义非常清晰,分工明确。
signal/slot,虽然不叫这个名字,但思想就是,而且真的是拖动鼠标就能connect。
提供了ARC,闭包和反射,给UI开发带来巨大的便利性,当然这得益于Objective-C这个语言。
再补充下 Borland的OWL和VCL。
我是从Borland C++3.0和Delphi 1.0开始用的,那时的Borland看来很有前途的,可惜后来一系列决策失误导致现在这个公司几乎消失了,同学们不要再往这个坑里跳了。
OWL曾经和MFC是竞争对手,设计思想也差不多,个人感觉OWL的API设计更优雅一点,但是在市场上OWL被MFC彻底击败。
Delphi是神作,它在RAD(快速应用开发)领域长时间没有对手,直到BS架构取代CS架构。Delphi的特点就是简单、开发快,单纯就写个基本可用的应用来说,可能至今都没有比他更快的,但是缺点就是丑,基本大多数Delphi应用都是一大堆控件堆积在一起,很不美观,另外由于Pascal语言的限制无法和现有大量的C/C++代码融合。虽然后来有C++ Builder,但是Builder里简单和快的优点也消失了。Borland的C++编译器越做越差,导致后来开源项目都不太愿意兼容这个编译器了。
VCL准确地说不是UI库,而是一套组件接口规范,类似COM ActiveX。delphi和C++builder都是基于这个规范构建了基础库。
UI库是个很大的话题,够写好几本书来探讨的,我这里就是随便写点自己的感受。
单纯讨论每个库的优劣是没有意义的,而是要放到具体的应用场景里来看,每个库都有自己擅长的场景。
如果仅在Windows下,追求程序小巧,用WTL,不足的地方自己实现去吧,但是视觉效果就呵呵了。
如果可以大一点,还要好看点,那就Qt。
如果完全不在乎大小,只要视觉效果华丽,就用WPF,如果把开发工具价格也考虑进来,那么土豪才会选WPF呢。
MFC就是个鸡肋了,除非你现有的工程师不会用别的,或者有历史遗留代码要保持兼容。
如果要求跨平台,那么就用Qt,wxWidgets和GTK+跟现在的Qt比起来没有什么优势了。
如果是iOS Android,那么最好用原生UI库,除非你写游戏。
参考:/question/2348001
感谢关注 Ithao123Qt频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊FinderCheng 的BLOG
用户名:FinderCheng
文章数:123
评论数:1024
访问量:4100864
注册日期:
阅读量:24883
阅读量:263009
阅读量:1000052
阅读量:149784
51CTO推荐博文
&&& ● GTK+的网站:;
&&& ● GTK+原本是Gimp的一个工具库,是在LGPL协议下发布的Unix系统GUI库;
&&& ● GTK+已经被移植到Windows,VMS以及其他的系统上面(在MacOS X上面现在可以通过苹果的X11应用程序实现,其本地版本正在开发之中),使用相同的API。但是,GTK+的设计初衷是Unix,多平台的开发是后来才加入的;
&&& ● GTK+是GNOME用户界面的原始构建库;
&&& ● 不同于wxWidgets,GTK+支持C语言(同样,GTK+也有一个C++的封装版本GTKMM,);
&&& ● GTK+的API被很好的设计过,包含了安全类型转换和其他的一些机制,但是C++语言已经内建了这些;
&&& ● GTK+构建在glib库之上,这是一个通用库(在某些方面类似于C++的STL,它提供了一些数据结构,以及一些帮助内存管理的函数等);
&&& ● 在不同平台具有相对一致的界面,除了Windows XP,在XP系统中,GTK+尝试使用Wimp外观(基于UxTheme)来模拟Windows本地界面,获得了一定的成功。但是,它依然是一个Unix库;
&&& ● 既然wxWidgets在Unix上使用GTK(或是GTK2),也就没有什么理由在wxWidgets之上构建跨平台的C++程序了。
&&& ● Kylix是Borland/Inprise的一个不成功的产品,所以很难说它还会继续被支持多久;
&&& ● Kylix基于Qt构建;
&&& ● Kylix仅支持为数不多的平台;
&&& ● Kylix的IDE使用了不少于三个库,并且很不专业。
&&& ● Lazarus是一个跨平台的开源RAD IDE,也是一个编写GUI程序的库;
&&& ● Lazarus很多地方与Borland Delphi兼容,相同的代码可以被这两个编译器编译;
&&& ● Lazarus有为本地使用或者客户端/服务器的数据库应用的数据展示组件;
&&& ● Lazarus仅支持Object Pascal;
&&& ● 工作方式类似于wxWidgets,支持很多底层的工具集:gtk1,gtk2,win32api,qt,carbon和winCEapi;
&&& ● 底层的免费Pascal编译器支持很多现在仍在使用的操作系统和架构;
&&& ● 现在它支持的平台比wxWidgets少。
&&& ● Ultimate++仅支持Windows和Linux,不支持MaxOS;
&&& ● 在的对比展示了一个简单的例子,但是这并不能说明这个库如何很好的开发更大的应用程序。
&&& ● Notus网站:;
&&& ● 实际上存在wxW) (豆子:原文是wxWidgets actually exists,这可能是说还有更好的wxWidgets);
&&& ● Notus似乎是要更多地使用标准库和现代C++概念,例如遍历器、模板、命名空间等等(相比之下,wxWidgets更多的是使用了非标准的方式);并且它更多地是借鉴了Boost的设计理念(你可以把它认为是一个好的或者不好的事情),它和Boost的其他的库在一起工作得很好。当然,既然它并不存在,这是不是真的还得要时间的检验。(豆子:看看Notus的站点,好像这是库是把泛型的概念带入到GUI编程里面)
&&& ● MFC仅仅能够在Windows上免费使用:
&&&&&&& ○ Visaul C++跨平台版本有一个maxintosh版(至少要800美元),但是自从4.1版本的编译器就不支持了;
&&&&&&& ○ 也有一些Unix的模仿,如MainWin,相当的昂贵,需要运行时协议,并且据说有一些有问题的支持;
&&& ● 如果一个程序使用wxWidgets或者MFC构建,并且源代码是开放的,那么EULA(豆子:最终用户许可协议)是不能约束wxWidgets的;
&&& ● MFC的执行程序比wxWidgets小(基本上是靠编译器实现体积缩小的);
&&& ● MFC拥有很多优秀的商业组件;
&&& ● 有人说,wxWidgets的事件表(event tables)要比MFC的消息映射(message map)好;
&&& ● wxWidgets的类层次结构更多合理,而MFC在顶层类名显得不那么一致性;
&&& ● wxWidgets提供了大量的相关的方便的工具类,而MFC提供了更多的窗口相关的类;
&&& ● 同.NET不同,MFC不会迁移到.NET平台;另一方面,wxWidgets已经有了初步的.NET版本;
&&& ●&MFC提供了更多的组件,尤其是有关数据的控件;
&&& ● 有些地方使用wxWidgets更加简单一些,例如特定类型的窗口(如总是在最上方的窗口等),另一些地方使用MFC会更方便,日期选择工具条;
&&& ● 或许使用MFC最重要的一点是MSVC,这个IDE本身;
&&& ● 参见了解更多区别。
&&& ● 参见;
&&& ● 在Mozilla程序中需要使用JavaScript、XUL和C++;而wxWidgets只使用C++;
&&& ● 在Mozilla中使用C++(XPCOM)相当困难;在wxWidgets中使用C++就简单得多。
&&& ● Tk又称为:Tcl/Tk,Perl/Tk;Python/Tkinter;
&&& ● 参见:;;
&&& ● 古老的API,但是实现了基础的功能。很多扩展提供了新的组件:著名的BWidgets Tcl/Tk扩展提供了纯Tcl编写的megawwidgets;
&&& ● 没有GridView~ListView,但是有一个简单的list;
&&& ● ComboBox是一种按钮;
&&& ● 默认命令是双击,但如果你希望“单击”或其他事件,那也是支持的,不过你会很难发现它们;
&&& ● Python将这个库选为默认的,但是一些发行版(如Pardus)并没有默认包含;
&&& ● 从一个组件获得返回值是通过StringVar、IntegrVar和DoubleVar类,这很令人困惑;
&&& ● 提供MaxOS X上面的本地外观(很久以来就是如此),使用Tile扩展实现Windows XP的本地风格,其他情况下是Win9x的风格;
&&& ● 在X11下并不能工作得很好。事实上,它看起来有点像Motif :-( ,看一下Tile扩展,它的目标是让Tk在X11下获得新生;
&&& ● Tk是工具命令行语言(豆子:原文是Tool Command Language)的一个扩展。这种语言是一个强大的跨平台脚本语言。但是不得不承认,Tcl的学习曲线很高,它是一种和C/C++完全不同的语言;
&&& ● 你可以把完整的Tcl/Tk应用程序包装成一个二进制文件,一个独立的Starpack,或者说是一个使用一种小巧的脚本解释器Tclkit运行的Starkit。发布就是这么简单。
&&& ● VCF网站:;
&&& ● 清晰的OO设计;
&&& ● 在Windows是成熟的,部分支持MaxOS X和Linux;
&&& ● BSD协议。
&&& ● WideStudio网站:;
&&& ● WideStudio使用它自己的组件;
&&& ● WideStudio的安装包含在MinGW和gcc之中(不是可选的);
&&& ● WideStudio有一个IDE/设计器;
&&& ● 它的IDE/设计器有Eclipse插件版本(参见);
&&& ● WideStudio没有控件交互的键盘导航;
&&& ● WideStudio的容器类不允许使用名字引用(如myWindow("labelCaption")-&Test);
&&& ● WideStudio的库的总大小小于10M(),小型的应用程序的发行版小于4M。
什么情况下不应该使用wxWidgets?
&&& ● wxWidgets缺少创建漂亮的表格、图表的商业GUI组件。参见;
&&& ● 不支持主题(区别于在底层使用主题的工具库),除非你使用wxUniversal或者;
&&& ● wxX11相比于其他的工具库只是一个子集,并且不稳定。你应当使用wxGTK,这个实现基于GTK构建,而不是直接在X11上面。wxX11更适合于没有GTK的嵌入式设备;
&&& ● wxWidgets试图支持大量的特性,因此,有些很少用到的组件不如经常使用的组件稳定。就像使用任何开源库一样,大量的测试是最佳的解决方案;
&&& ● wxWidgets没有提供任何平台的二进制发布。你不得不自己编译wxWidgets。提供了Windows平台上的wxWidgets的二进制版本,但是你需要下面几百兆的开发包;
&&& ● 使用本地组件使得相同的代码在不同平台表现有所不同,并且可能有一些平台相关的bugs。
==================================================
现在终于将这篇文章翻译完了。很多翻译不当的敬请谅解!虽然这是篇发布在wxWidgets上面的Wiki,但是我觉得写得还算中肯,因此是有一定的借鉴意义的。
这里列出了很多库,或许一些现在已经停止开发了,至少也算是见证一下C++ GUI库曾经的百家争吗、百花齐放的场面吧!呵呵…
了这篇文章
类别:┆阅读(0)┆评论(0)关于GTK、wxWidgets、QT和MFC
昨天看一帖子,比较GTK、wxWidgets和QT,看应该使用哪一种来作GUI开发,地址如下:http://bbs.chinaunix.net/archiver/tid-922902.html。
大家都不时的在帖子中提及MFC,搞笑的不行:
1.个人感觉QT和MFC有点类似,非标准的东东太多......
2.我觉得也是QT,应为我喜欢写!C!+的代码,但是上面的观点不同意,MFC跟QT比,简直是天书。函数长死了。。可能是我买了本
深入浅出MFC&&弄成的结果,感觉好难。。。。根本就没头目的学习。。
3.......如果不知道该如何选择,建议两样都学习2个月,然后就能更具自己的喜好选择了,至于MFC吗,我没用过,但是我以前的用过的同事都说QT比MFC简单好用。精通MFC的人学习QT
2天就能上手编程,反过来却不行。
4.这几个我都学过,可以说学MFC是找死,摸了半天找不到边,不过入了门后就跟其他的一样了。......
5.......MFC则不用说,WINDOWS下专门,目前也显得有点过时了。
6.GTK学了几天,感觉还好,比较简单,但要学好还是要功夫的,至于MFC就向上面的兄台说的开书一般,我学了一段时间放弃了,太恼火了,QT没搞过,不过听说也不是太难,不知道了,什么时候也去搞搞!!
7.看了几天mfc,感觉像一砣屎,可能懂的人不觉得有什么,索性不学了。现在学习gtk+中,[url]www.gtk.org[/url]上的文档挺齐全的。
看来搞跨平台的人对微软还真是没什么好印象,我只用过几年MFC,正想把这几个库都看看,不知道在对图形界面的控制方面是否也都能像mfc那样深入和精确。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。[quote user=&Joyoung& index=&1&]在网上发现很多人都这样说[/quote]" />
在网上发现很多人都这样说
[quote user=&& index=&2&]qt容易入门,夸平台。。。[/quote]" />
qt容易入门,夸平台。。。
[quote user=&Solaris& index=&3&]如果你的本职是码农……MFC简直是上个世纪的东西[/quote]" />
如果你的本职是码农……MFC简直是上个世纪的东西
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
[quote user=&骑着蜗牛跑& index=&4&]衷心劝你别MFC,只有小公司在用,而且很快就被淘汰了。。[/quote]" />
衷心劝你别MFC,只有小公司在用,而且很快就被淘汰了。。
/zhaizhiqiangnwpu
[quote user=&明夷& index=&5&]银行或者事业单位里面一些老旧的系统吧。[/quote]" />
银行或者事业单位里面一些老旧的系统吧。
[quote user=&& index=&6&]
现在主流码农用什么?[/quote]" />
#3Solaris:如果你的本职是码农&&MFC简直是上个世纪的东西
现在主流码农用什么?
[quote user=&strcmp90& index=&7&]多老的网页才会讨论mfc啊 mfc的直系继承人WPF,其他技术派系有QT,Java Swing。以上是桌面程序,在web程序方面,微软有web form及最新的MVC两大类别,另外有dojo、extjs等基于javascript的RIA工具包、界面库。[/quote]" />
多老的网页才会讨论mfc啊mfc的直系继承人WPF,其他技术派系有QT,Java Swing。以上是桌面程序,在web程序方面,微软有web form及最新的MVC两大类别,另外有dojo、extjs等基于javascript的RIA工具包、界面库。
Honey badger don't give a shit.
[quote user=&vs01& index=&8&]学了好久才学会那么一点点 我觉得通一下就好,别硬玩 MFC工作量太大,累死累活还不如人家一天的成果 不过windows和MFC真玩转了,其他对你来说应非常容易吧 话说其他的我也没玩过,我纯属菜鸟[/quote]" />
学了好久才学会那么一点点我觉得通一下就好,别硬玩MFC工作量太大,累死累活还不如人家一天的成果不过windows和MFC真玩转了,其他对你来说应非常容易吧话说其他的我也没玩过,我纯属菜鸟
------------------------------------------------------------------------
[quote user=&vs01& index=&9&]而且我感觉,楼上的人似乎都没玩过MFC 我知道,作为一个菜鸟我这群嘲基本上是自寻死路....[/quote]" />
而且我感觉,楼上的人似乎都没玩过MFC我知道,作为一个菜鸟我这群嘲基本上是自寻死路....
------------------------------------------------------------------------
[quote user=&vs01& index=&10&]我还想说,玩这些跟钳工是一个工种 我觉得还不如美工有技术含量[/quote]" />
我还想说,玩这些跟钳工是一个工种我觉得还不如美工有技术含量
------------------------------------------------------------------------
[quote user=&Joyoung& index=&11&]
这么说VC也差不多过时了? 那.net和C#呢?目前什么状况?[/quote]" />
#7strcmp90:多老的网页才会讨论mfc啊mfc的直系继承人WPF,其他技术派系有QT,Java Swing。以上是桌面程序,在web程序方面,微软有web form及最新的MVC两大类别,另外有dojo、extjs等基于javascript的RIA工具包...
这么说VC也差不多过时了?
那.net和C#呢?目前什么状况?
[quote user=&strcmp90& index=&12&]
我还怀疑你在用tobur c 2.0,vc6.0呢[/quote]" />
#9vs01:而且我感觉,楼上的人似乎都没玩过MFC我知道,作为一个菜鸟我这群嘲基本上是自寻死路....
我还怀疑你在用tobur c 2.0,vc6.0呢
Honey badger don't give a shit.
[quote user=&Joyoung& index=&13&]
学了好久才学会那么一点点,我也是呀,刚开始做项目的时候,老师说用C++编,然后不知怎么就都选择了MFC,当时对这些主流编程语言的发展情况几乎不了解[/quote]" />
#8vs01:学了好久才学会那么一点点我觉得通一下就好,别硬玩MFC工作量太大,累死累活还不如人家一天的成果不过windows和MFC真玩转了,其他对你来说应非常容易吧话说其他的我也没玩过,我纯属菜鸟
学了好久才学会那么一点点,我也是呀,刚开始做项目的时候,老师说用C++编,然后不知怎么就都选择了MFC,当时对这些主流编程语言的发展情况几乎不了解
[quote user=&Joyoung& index=&14&]
我就还在用VC6.0,觉得这个IDE可以啊[/quote]" />
#12strcmp90:#9vs01:而且我感觉,楼上的人似乎都没玩过MFC我知道,作为一个菜鸟我这群嘲基本上是自寻死路....我还怀疑你在用tobur c 2.0,vc6.0呢
我就还在用VC6.0,觉得这个IDE可以啊
[quote user=&strcmp90& index=&15&]
visual studio 、、2012,内部代号已经是vc 16了&& .net已发布4.0、4.5,.net框架试图与j2ee争锋,目前还是j2ee市场更大[/quote]" />
#11Joyoung:#7strcmp90:多老的网页才会讨论mfc啊mfc的直系继承人WPF,其他技术派系有QT,Java Swing。以上是桌面程序,在web程序方面,微软有web form及最新的MVC两大类别,另外有dojo、extjs等基于javascript的RIA工具包...这么说VC也差不多过时了?那.net和C#呢?目前什么状况?
visual studio 、、2012,内部代号已经是vc 16了&&
.net已发布4.0、4.5,.net框架试图与j2ee争锋,目前还是j2ee市场更大
Honey badger don't give a shit.
[quote user=&strcmp90& index=&16&]
当年在没有其他可选的情况下,MFC已经是最佳选择了,总比win32 api直接写界面要轻松很多。 当出现了比MFC更好用的界面库、框架时,MFC退出舞台也就理所当然了。[/quote]" />
#13Joyoung:#8vs01:学了好久才学会那么一点点我觉得通一下就好,别硬玩MFC工作量太大,累死累活还不如人家一天的成果不过windows和MFC真玩转了,其他对你来说应非常容易吧话说其他的我也没玩过,我纯属菜鸟&学了好久才学会那么一点点,我也是呀,刚开始做项目的时候,老师说用C++编,然后不知怎么就都选择了MFC,当时对这些主流编程语言的发展情况几乎不了解
当年在没有其他可选的情况下,MFC已经是最佳选择了,总比win32 api直接写界面要轻松很多。
当出现了比MFC更好用的界面库、框架时,MFC退出舞台也就理所当然了。
Honey badger don't give a shit.
[quote user=&Joyoung& index=&17&]
那个qt和wxwidgets目前什么情况啊??[/quote]" />
#16strcmp90:#13Joyoung:#8vs01:学了好久才学会那么一点点我觉得通一下就好,别硬玩MFC工作量太大,累死累活还不如人家一天的成果不过windows和MFC真玩转了,其他对你来说应非常容易吧话说其他的我也没玩过,我纯属菜鸟&学了好久才学会那么一点点,我也是呀,刚开始做项目的时候,老师说用C++编,然后不知怎么就都选择了MFC,当时对这些主流编程语言的发展情况几乎不了解当年在没有其他可选的情况下,MFC已经是最佳选择了,总比win32 api直接写界面要轻松很多。当出现了比MFC更好用的界面库、框架时,MFC退出舞台也就理所当然了。
那个qt和wxwidgets目前什么情况啊??
[quote user=&甚喜莉香& index=&18&]我还在用mfc呢[/quote]" />
我还在用mfc呢
[quote user=&vs01& index=&19&]
Matlab&纯低端&我悄悄的逆了&&&&[/quote]" />
#12strcmp90:#9vs01:而且我感觉,楼上的人似乎都没玩过MFC我知道,作为一个菜鸟我这群嘲基本上是自寻死路....我还怀疑你在用tobur c 2.0,vc6.0呢
Matlab&纯低端&我悄悄的逆了&&&&
------------------------------------------------------------------------
[quote user=&ddvipnet& index=&20&]搞mfc和搬砖有什么区别?搞算法才是王道。[/quote]" />
搞mfc和搬砖有什么区别?搞算法才是王道。
[quote user=&苏磊1991& index=&21&]可以研究一些MFC的机制 用的话现在比较多的是QT 我问过百度的面试官 百度桌面客户端用的WTL 不过市场上没什么书 微软也不提供官方支持[/quote]" />
可以研究一些MFC的机制
用的话现在比较多的是QT
我问过百度的面试官
百度桌面客户端用的WTL
不过市场上没什么书 微软也不提供官方支持
[quote user=&vs01& index=&22&]
初学者都觉得这就是技术,其实就是搬砖... 混口饭吃么... 搞算法又轮不到自己,就只能砖板了[/quote]" />
#20ddvipnet:搞mfc和搬砖有什么区别?搞算法才是王道。
初学者都觉得这就是技术,其实就是搬砖...
混口饭吃么...
搞算法又轮不到自己,就只能砖板了
------------------------------------------------------------------------
[quote user=&会社谐和& index=&23&]还在用MFC的纯屌丝来长长姿势[/quote]" />
还在用MFC的纯屌丝来长长姿势
中国有风险
投胎须谨慎
[quote user=&vs01& index=&24&]搬砖也可以致富的,搬砖也要当搬砖的王哩....[/quote]" />
搬砖也可以致富的,搬砖也要当搬砖的王哩....
------------------------------------------------------------------------
[quote user=&ilovrene& index=&25&]mfc还存在啊[/quote]" />
mfc还存在啊
-———————————————————————————————————————————————————-Good morning,and in case i dont see you,good afternoon,good evening and good night!
[quote user=&yesxure& index=&26&]还在用MFC的屌丝过来看看[/quote]" />
还在用MFC的屌丝过来看看
请叫我愤怒的哥
[quote user=&doudou528& index=&27&]多年没写过桌面程序了........[/quote]" />
多年没写过桌面程序了........
[quote user=&烟中列岫青无数& index=&28&]MFC里面有很多精致的程序设计思想。 思考题,为什么会有handle的出现?[/quote]" />
MFC里面有很多精致的程序设计思想。思考题,为什么会有handle的出现?
菜,要辣的才过瘾!
[quote user=&爱后余生& index=&29&]连MFC都不会 只会悲剧的WIN32 API开发[/quote]" />
连MFC都不会
只会悲剧的WIN32 API开发
[quote user=&六月息& index=&30&]依然 时不时的用用MFC的过来瞧瞧。。[/quote]" />
依然 时不时的用用MFC的过来瞧瞧。。
[quote user=&迈克尔%&唐僧& index=&31&]wx库最近也比较火啊,mfc我用的不多,感觉写界面太麻烦了。[/quote]" />
wx库最近也比较火啊,mfc我用的不多,感觉写界面太麻烦了。
[quote user=&隔夜茶& index=&32&]mfc上手比较难,画画界面没什么,总体来说落后不少,wx有个python的界面库,是python里很好用很广泛的库之一[/quote]" />
mfc上手比较难,画画界面没什么,总体来说落后不少,wx有个python的界面库,是python里很好用很广泛的库之一
人在天涯断魂处,未到天涯已断魂……
[quote user=&剪影& index=&33&]相当没前途. 我一直以为MFC是清朝人发明的...[/quote]" />
相当没前途.我一直以为MFC是清朝人发明的...
"Do you want some?"
[quote user=&薛定谔的猫& index=&34&]C#完美替代[/quote]" />
C#完美替代
[quote user=&OLer@OL& index=&35&]马特雷柏走你。 【&我最喜爱的编程语言&排行榜】这份榜单来自11月份对两万八千名软件工程师的问卷调查。C++和C语言仍然以大比分领先其他编程语言排在前两位,二者是当之无愧的最受全国程序员喜爱的编程语言。在IT创新最活跃的美国,C++胜于C,而在软件外包大国印度,C与Java都大受欢迎。[/quote]" />
马特雷柏走你。
【&我最喜爱的编程语言&排行榜】这份榜单来自11月份对两万八千名软件工程师的问卷调查。C++和C语言仍然以大比分领先其他编程语言排在前两位,二者是当之无愧的最受全国程序员喜爱的编程语言。在IT创新最活跃的美国,C++胜于C,而在软件外包大国印度,C与Java都大受欢迎。
Better man
[quote user=&Sandler& index=&36&]matlab居然高居前列[/quote]" />
matlab居然高居前列
[quote user=&Joyoung& index=&37&]
WTL 是???小白球解释[/quote]" />
#21苏磊1991:可以研究一些MFC的机制
用的话现在比较多的是QT
我问过百度的面试官
百度桌面客户端用的WTL
不过市场上没什么书 微软也不提供官方支持
WTL&是???小白球解释
[quote user=&苏磊1991& index=&38&]baidu or google
[/quote]" />
baidu or google#37Joyoung:#21苏磊1991:可以研究一些MFC的机制
用的话现在比较多的是QT
我问过百度的面试官
百度桌面客户端用的WTL
不过市场上没什么书 微软也不提供官方支持&WTL&是???小白球解释
[quote user=&せかいの神様& index=&39&]C++现在大多用在服务器后台,处理大规模数据,效率高 MFC做桌面应用在微软的平台下基本上没有任何前途,Qt在Linux下依然有前景 MFC的机制和原理可以学习一下,对理解windows机制和自己写C++有帮助,但不要依赖MFC的封装。早几年前面试官就非常鄙视自称MFC玩得好的人了 C#这行慎入吧,跟着微软走,实在是太累了 想光鲜就java,想苦逼就C++[/quote]" />
C++现在大多用在服务器后台,处理大规模数据,效率高MFC做桌面应用在微软的平台下基本上没有任何前途,Qt在Linux下依然有前景MFC的机制和原理可以学习一下,对理解windows机制和自己写C++有帮助,但不要依赖MFC的封装。早几年前面试官就非常鄙视自称MFC玩得好的人了C#这行慎入吧,跟着微软走,实在是太累了想光鲜就java,想苦逼就C++
May God bless the guilt dwell deep in your heart foreverMay your soul in this world till the end of the earth tastes no peace
[quote user=&Solaris& index=&40&]pc在没落,pc桌面程序更没落,用mfc这种古老技术的pc桌面程序……毫无前途了[/quote]" />
pc在没落,pc桌面程序更没落,用mfc这种古老技术的pc桌面程序……毫无前途了
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
[quote user=&jcy& index=&41&]以前还翻过一本叫深入浅出MFC的书,台湾人写的,就觉得那个类图谱太复杂了,入门比较困难吧[/quote]" />
以前还翻过一本叫深入浅出MFC的书,台湾人写的,就觉得那个类图谱太复杂了,入门比较困难吧
从前冬天冷呀 夏天雨呀水呀 秋天远处传来你声音暖呀暖呀 你说那时屋后面有白茫茫茫雪呀 山谷里有金黄旗子在大风里飘扬 我看见山鹰在寂寞两条鱼上飞 两条鱼儿穿过海一样咸的河水 一片河水落下遇见人们破碎人们在行走身上落满山鹰的灰
[quote user=&薛定谔的猫& index=&42&]wxPython GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构 话说现在本人最常用的就是西加加和马特雷柏了[/quote]" />
wxPython GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构话说现在本人最常用的就是西加加和马特雷柏了
[quote user=&三峡客& index=&43&]
不要小瞧matlab[/quote]" />
#36Sandler:matlab居然高居前列
不要小瞧matlab
郁孤台下清江水,中间多少行人泪!西北望长安,可怜无数山!
青山遮不住,毕竟东流去。江晚正愁余,山深闻鹧鸪。
[quote user=&Joyoung& index=&44&]
能有条中间的路可走吗? C#我听说用的人已经和C++差不多了呀,貌似越来越流行了呀[/quote]" />
#39せかいの神様:C++现在大多用在服务器后台,处理大规模数据,效率高MFC做桌面应用在微软的平台下基本上没有任何前途,Qt在Linux下依然有前景MFC的机制和原理可以学习一下,对理解windows机制和自己写C++有帮助,但不要依赖MFC的封装。早几年前...
能有条中间的路可走吗?C#我听说用的人已经和C++差不多了呀,貌似越来越流行了呀
[quote user=&种菜& index=&45&]
但Matlab是私有的[/quote]" />
#43三峡客:#36Sandler:matlab居然高居前列&&不要小瞧matlab
但Matlab是私有的
[quote user=&CC2008& index=&46&]学习一下[/quote]" />
[quote user=&せかいの神様& index=&47&]
流行其实是最大的问题,流行就一定是好的吗?诺基亚从巅峰摔下来也不过短短的时间~现在塞班是个什么地位呢?当然微软5年内不一定会倒,这个没有可比性。 google发明的go语言现在火的一逼,你学吗?倭国的ruby历史连10年都没有可是也非常受欢迎你学吗?python连hacker库都给你写好了,广泛被用来写漏洞扫描探测和破解,你学吗? 这些没有经受历史考验的语言,不是不能学,而是要慎重;不是不能深钻,而是不推荐当做唯一吃饭的家伙; 每一种语言每一个领域的coder都有非常头疼的问题,但是我相信搞.NE...[/quote]" />
#44Joyoung:#39せかいの神様:C++现在大多用在服务器后台,处理大规模数据,效率高MFC做桌面应用在微软的平台下基本上没有任何前途,Qt在Linux下依然有前景MFC的机制和原理可以学习一下,对理解windows机制和自己写C++有帮助,但不要依赖MFC的封装。早几年前...&能有条中间的路可走吗?C#我听说用的人已经和C++差不多了呀,貌似越来越流行了呀
流行其实是最大的问题,流行就一定是好的吗?诺基亚从巅峰摔下来也不过短短的时间~现在塞班是个什么地位呢?当然微软5年内不一定会倒,这个没有可比性。
google发明的go语言现在火的一逼,你学吗?倭国的ruby历史连10年都没有可是也非常受欢迎你学吗?python连hacker库都给你写好了,广泛被用来写漏洞扫描探测和破解,你学吗?
这些没有经受历史考验的语言,不是不能学,而是要慎重;不是不能深钻,而是不推荐当做唯一吃饭的家伙;
每一种语言每一个领域的coder都有非常头疼的问题,但是我相信搞.NET的,问题是要比别人多多了,至于为什么,咨询下你的学长,面试的时候多问问,就懂了
至于为啥C#慎入,两点仅供参考:
1.C#/JAVA都是企业级开发,快速成型,高效迅速,JAVA是久经市场考验的,C#背后是微软砸重金支持和维护的,用的人多不奇怪,正因为用的人多而且入门快,市场上搞这些的人一抓一大把,90%的这类coder一点都不值钱,不具备任何竞争力,撑死是个高级程序员吧罢了
2.微软的东西,说白了就是得力于相对垄断的平台,微软在.NET上做了多大的投入你看看就知道了,可是一旦失去微软自己的支撑,这种技术死的会很难看,举个例子:9x年搞MFC的那波人,10年还在继续搞吗?你看看微软这几年在presentation方面发布的各种版本,多如鸿毛,连微软自己都不再支持自家的MFC了,win7都不能直接升级到win8,他对自家产品的态度也就可见一斑了;相反的,C++就没落了吗?C之父挂了所以C就倒了吗?没有吧,相反的越来越多的人加入到第三方C/C++的开发中,十几年了依然热度不减,两相对比你就知道了
没有什么中间的路可走,语言都不是面面俱到的;学好一门底层语言,然后学一门脚本语言,然后再学有余力,再掌握一门快速成型语言;底层语言,必然是C/C++,面向桌面级应用的可以学学python,面向BS的可以找本go或者p2p的书看看
一个码龄5,6年的coder,会上个十几种语言一点都不奇怪,大胆去尝试吧骚年
May God bless the guilt dwell deep in your heart foreverMay your soul in this world till the end of the earth tastes no peace
[quote user=&venus&yy& index=&48&]m[/quote]" />
[quote user=&时间和意义& index=&49&]楼上说得好[/quote]" />
楼上说得好
寒风吹过我的乱发
[quote user=&flying Sonic& index=&50&]就算一条内裤一张卫生纸也有它的价值所在[/quote]" />
就算一条内裤一张卫生纸也有它的价值所在
Sonic Speed
微信订阅号

我要回帖

更多关于 python gui 框架 的文章

 

随机推荐