在网上无意看到这篇文章,不过,却给我很大的指导。分享给大家看看,可以借鉴一番。学习你熟悉的,只要你学的现在有需求,就好好学。什么语言流行,什么框架已死,什么PC端没落,微软都靠不住了,都是扯淡。XP不是还没有完全退出市场吗?在天朝,更迭是很慢的,不要随意切换,否则很难精深,反而会让你很疲惫,让你不知所措。 下面是原文: 说起界面,那真是百家争鸣。C++里面其他的都好说,像什么XML解析顶多也就十几个著名开源库而已。Office操作的开源库仅有几个,更可怜的是有个很著名的Office开源库只有JAVA和C#版本,但是木有C++版本o(╯□╰)o。网络方面、字符串处理方面、多语言方面等等都很少,最重要的是,这些开源库中几乎任何一个都能满足我们的需求,所以确实不需要多少个。 但是界面就不一样了,虽然很多,但貌似目前还没有一个能够让大部分人满意的。那就先介绍一下它们的历史吧(以下描述很多都是凭记忆,若有不对,请小伙伴们指正~O(∩_∩)O~): 一、MFC(MicrosoftFoundationClasses) 最开始人们使用win32API来编程,后来出了MFC,MFC封装了几乎所有的win32API,并且提供了强大的可视化界面编辑器,所以如果用VC++,基本都是用MFC了,而游戏方面因为有大量的游戏引擎,并且MFC根本满足不了游戏的需求,所以游戏方面一直是win32API为主。 界面框架最经典的非MFC莫属,而MFC的编译器最经典的非VC6.0莫属。VC6从年就开始发行,打败天下无敌手,到现在15年过去了,依然很多公司在用,与XP、IE6一样令人纠结。早在年的时候,很多人就唱衰MFC,说MFC已经死掉了,没人用了,不要再学习了。的确,自VC6以后,MFC确实没有什么大的变化,因为微软早在年的时候就发布了C#,而C#的设计者就是Delphi的作者Hejlsberg,而Delphi所属公司正是被VC6打败的Borland。虽然C#宣称比VC++好上一万倍,也确实比VC++好了不止几个档次,但是10多年过去了,VC++依然被大量使用,至少客户端和游戏是VC++占主角。所以其实不管一门语言多么的被唱衰,多么的过时,只要有大量公司招聘,这就比任何一个强大的语言都要好。比如很多高级语言如Erlang,据说年薪数十万上百万,但是国内有多少公司招?而VC++尽管被唱衰十几年,却还是有大量公司招聘,所以时间是谣言最好的粉碎机。 当然,Alberl也不是推荐大家都去学VC++,学MFC框架,只是在鼓励已经入行的朋友们。不过VC++的适用范围也越来越窄了,十年前几乎是什么都能做,但现在用VC++的公司基本上是做客户端(正常客户端、外挂、病毒等)、游戏、服务器(据说纯C++居多,只是用VC++编译而已)。如果对这几个方面没兴趣的话,就不要选这方面了。其实VC++现在很大程度上都仅仅只有以下几个作用: 1、C++的编译器而已 2、MFC做界面而已 3、做游戏(DirectX等等,用了游戏引擎后,基本不关VC++什么事了) 4、COM接口(但是这个不分语言,用C#、Delphi等等都可以) 像MFC非界面方面的现在都不推荐用,比如MFC的网络库、文件操作、字符串操作等等(不过Alberl还是比较喜欢CString、CFile之类,正在转型中~O(∩_∩)O~),都推荐用纯C++的库,当然,老的项目就不用管啦~。所以仔细数下来,VC++真正让人难以抛弃的就是MFC的界面那一部分。如果不需要绚丽的界面,就无需再纠结其他界面库了,MFC真的很不错。 二、Delphi 当年微软的强劲对手,不过被微软的VC6完败,之后就没有起来了,虽然现在也一直更新。酷狗之前一直用Delphi做的,不过几年前6.0之后就全部换成了VC++,当时界面效果非常好,引起了一阵热潮,现在酷狗的界面也是越来越漂亮了,所以这也印证了Delphi的局限性。而Borland在年已经将Delphi卖了,并且从招聘来看,已经没几个公司招Delphi了。所以Delphi就不用考虑了。 不过值得一提的是,现在的Delphi做界面比MFC要方便很多,有容器的概念,也就是控件里面可以有控件,组合起来非常方便,其VCL框架非常不错。拖控件貌似比WinForm还方便?(Alberl只是听一个8年.net经验的同事说的,仅仅是指拖控件哦,因为Delphi自带的控件及样式非常多) 三、.NET(VB、WinForm、WPF) 其中VB是单独的语言和界面框架,也是拖拖控件就OK,比MFC方便,但也有局限性,招聘公司几乎比Delphi还少?不过其中音速启动是一个很成功的例子。 而WinForm、WPF都是一个框架,他们用的语言都是C#。.net毕竟是微软的亲儿子,比C++和VC++还全能,不仅有JAVA一样的易用性,还有C++的全能性,还比VC++的MFC好用N倍,除了这些以外还可以做网页、还可以开发Wince、windowsMobile、windowsphone、win8Metro,简直就是个万能胶囊(或者变形金刚),其唯一的坏处就是: 1、要装.net库 但是如果不用高级特性的话,只需要几十M的库就行了,并且等XP淘汰后,就基本不用装库了。91手机助手不就是要装运行库么~~~ 2、跟微软绑太紧 老是有人觉得跨平台天下无敌,跨平台当然好,跨平台就什么问题都没了?想想当年的功能机,JAVA游戏要适配多少个手机!HTML要适配多少个浏览器!那么多跨平台的C++库,几乎覆盖了所有范围,为什么微软还健在?为什么大型3D游戏几乎都不考虑linux?为什么QQ、也不看重linux?为什么? 所以Alberl想说的是,跨平台这些都是老板关心的事,如果跨平台赚不到钱,谁去跨平台。不跨平台必死无疑?杀毒软件有跨平台的吗!酷狗、酷我、千千、暴风、快播等等,你看看你电脑里的客户端,有几个跨平台的?连QQ的linux版都不怎么更新,有白癜风的初期图片白癜风有什么办法治疗
|