C++程序员打交道最多的就是MFC了,这个我不想多说,说来都是泪(C#年年更新,C++十年才出了一个featurePack还不是很好用)
现在另外两支队伍越来越庞大(所谓穷则思变,呵呵),一是WTL,关于它的种种传说可以参考WTL中文教程,里面讲的很详细,这里我想说的是为什么使用WTL:
传说WTL是微软内部所使用的界面框架程序,原因是高效,简洁,实际也是如此,WTL的程序内的内存占用比MFC小的多,而且WTL内建了对于可缩放对话框的支持(支持控件停靠哦),对于多文档以及视类的支持更是MFC望尘莫及的,但是WTL也有其自身的缺点,比如开发文档少,尤其是中文的,向导不够聪明(谁用谁知道,呵呵),换句话说,用WTL就意味着多敲一些代码,不过这个可以有一些第三方工具缓解(还是那句话,穷则思变),如WTL helper,还有国产的WTL helper,还有国产的VFC,两者都是开源软件,放心使用,建议有意开发WTL的程序员先打好基本功,因为这个基于ATL的这个铁娘子不是谁都可以驾驭的哦,如果对程序大小要求不是太苛刻的话,还是拿MFC将就吧
其二就是我最近很感兴趣的WxWidget, 这款框架最大的优势就是真正意义上的跨平台,其注意真正两个字,因为在我看来所谓的java跨平台不过是幌子,有种连JVM也跨平台试试(JAVA拥护者别拍我哦,其实JAVA还是在OO领域很强大的),那真正二字就是因为,WxWidget提供了在本机源码级的跨平台,从此你在让客户使用你软件的时候不必再说:“你必须给我安装×××虚拟机或×××Framwork”,在一个平台下编译的代码,不用做任何更改,在另一个平台下就可以编译通过并且发布,这岂不美哉,而且WxWidget所使用的界面元素几乎都取自本地计算机,就是说你的见面客气来很有亲和力,最终发布的二进制代码文件爱你无论是静态还是动态链接都要比GTK之流小很多(见图表)。有兴趣一试的可以看看WxWidget开发环境配置
说了这么多,总结如下,三种平台各有所长,如果你是windows程序员,那么WxWidget对你而言没有多大意义,如果你刚开始接触C++,那WTL这个高品位新娘也许会让你忙的团团转,呵呵,大家自己斟酌吧