当前位置:C++技术网 > 资讯 > Qt在window下做界面开发有优势吗?学习qt是否往linux环境下就业好点?

Qt在window下做界面开发有优势吗?学习qt是否往linux环境下就业好点?

更新时间:2017-12-13 14:50:50浏览次数:1+次

面试这么久有这种感觉:个人用Qt开发工具做的管理软件感觉不是很迎合市场热点,实际更偏向java,也没有什么优势。从招聘信息和所面试的结果来看,window下用MFC/VS开发会更吃香些。

C++技术网会员解答:

    您好,感谢您对C++技术网的支持。

    仔细分析了一下你的问题,无非就是在QT、MFC/VS、Java之间的选择的纠结。然后主要导向是就业市场需要。

    如果只是对就业方向的选择,那么根据你对招聘信息和面试的了解,所得到的信息就是你需要的。市场需求往往可以从招聘信息直观看到,而且是不停在变化的。而对于QT、MFC/VS、Java之间的选择,没有谁好谁坏,只是应用的市场不同而已。

    MFC/VS是发展了很久的开发工具了,随着Windows发展而发展。虽然说喊着要放弃MFC,然而从最新的VS2017来看,却同样支持了MFC。也就可以看到,MFC并不是说放弃就能放弃的。MFC在Windows系统领域,还是占据一席之地的,以至于微软都没有办法不支持。MFC和Windows结合的是最好的,自然开发Windows程序还是很有优势的。只不过,被人吐槽最多的是MFC做界面,然而MFC并不只是可以做界面,它是一个完整的应用程序框架,对Windows的API做了很好的封装,开发的程序最贴合Windows。所以,在开发Windows程序,比如工业控制程序、行业软件、串口、硬件等相关的比较底层的功能软件时,MFC还是挺有优势的,所以现在MFC依然有用。

    而在界面开发上,或者其他windows应用程序上,微软在大力发展C#语言和.Net框架。所以在Windows中做界面软件,很多人都偏向于C#了。MFC和C#开发都是用VS。

    而Java开发,偏向的方向是企业级系统开发和web服务器以及网站类开发。因为java的跨平台性,然后有很完善的框架,开发速度快。而且也发展了很多年。后来Java又拿来开发安卓。一直都发展的挺好。

    而QT则只是一个框架,是跨平台的。主要用于开发界面,可以在Windows上、Linux、手机等上运行。跨平台的软件开发可以更快覆盖不同的系统,然而论效率,与系统最贴合的并不是跨平台的框架,比如Windows最贴合的还是MFC。

    QT自然也是有不少市场的,比如做PC界面开发、嵌入式界面开发等。另外,QT自然是Linux界面开发的首选。至于市场这个东西,Linux用作Windows的效果,本身就不普遍,而更多是做无界面的命令行模式。所以这个市场就不好说。不过Linux作为嵌入式设备的系统,其上开发的程序,基本上是QT开发的。这点,应用还是很广泛的。

    当然,我说的并不代表所有的,只是简单说一下方向。所有存在的都是合理的,每一种东西的存在并不需要非常广泛使用,在特定场景特定领域,很多东西就是无法替代,虽然用的人少,却还是很重要。所以,市场并不能决定这些技术的存在价值,只是反应这些技术应用的范围的广度。

    对于一个人来说,热点和范围往往没有太大的价值。你最多也就只能做一个领域,最多同一个时间不能做两个工作。一个人是一个具体的技术使用,所以你只要有一个技术用,这就是真实的。所有的热点,也可能瞬间变化为另一个状态。个人的发展,完全没有必要看热点,就看你自己想干什么。

    当然,如果只是想找个工作,那么看招聘就够了。招什么学什么就是最方便的。如果想长期做好一个技术,那就朝一个方向钻下去就行了。对于C、Java、C++,在短期内都不会败落,都可以放心的学习。而QT、MFC等只是一个开发工具库而已,只要花一些时间就可以上手,然后熟悉了。

    始终要记住一点,市场是始终在不断的变化的,你做的东西只要市场需要,不管是什么技术,都是迎合市场的。至于有没有优势,开发速度快不快,那是另外一回事。这些你自然在后续的工作中可以体会到。真正吃香的是实实在在的技术能力,不是所谓的用什么。

    另外,在QQ问的: 还有最近面试,面试官都问的一个问题有没有在培训机构培训过的,难道培训过有优势?

    我就在此解答,不在QQ回答。这个问题是对一个人学习的方式进行了解。大部分人通过培训快速得到知识,然而基本上很多东西没有消化,这是所谓的速成品。没有扎实的基础,只会做一些表面的编程,很多招聘的人都对他们的水平表示怀疑,而不是优势。如果能够通过自学达到同等面试水平,自然基础功底更加深厚,是公司选择的倾向。
    QQ没有时间解答,网站也不再提供QQ上的解答,所有问题都统一在线解答。而时间在24小时内,也不算慢,希望理解。