【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
可能是因为03年上大学的原因,那个时候学习的编译工具主要就是VC6,一个普遍被认为是古老的开发工具。如果要编写界面的话,基本上只有两种方法,要么用原生的Windows API,或者用MFC进行编程。MFC虽然逻辑上复杂很多,但是至少用它可以帮助我们开发出用户需要的软件,不失为一种实用的开发方法。时至今日,MFC早已经不再是VisualStudio的默认安装选项了。如果大家需要使用MFC的话,也不是不可以,需要自己用vs comminity安装工具重新安装一下才行,比方说像截图这样,
事实上,自己第一次使用QT也是差不多4年前,那个时候因为项目的需要,使用QT开发上位机软件。使用过后,发现QT其实也蛮好用的。除了QT软件包安装、VisualStudio 2017软件安装、QT VS插件安装之外,其他也不需要额外处理其他软件。QT安装不仅方便,它的使用逻辑也非常清楚,基本上就是app + windows的开发方法。这个c# wpf非常相像。
1、哪些人需要QT开发
QT开发有两个很明显的优点,第一个就是跨平台。因为QT本身已经替我们完成了跨平台的操作,就像java语言帮助我们实现了跨平台一样。如果我们编写的代码中不包含特定平台的API函数,那么依赖于QT实现跨平台是很容易的事情。第二个就是效率。就像c/c++语言虽然本身历史比较长,但是在这么长的时间当中也积累了大量的第三方库代码。这些都是非常宝贵的财富。此外由于c/c++语言可以直接转换成汇编代码,用户自己甚至都可以使用汇编语言进行优化处理,这在其他平台之上都是做不了的。
2、哪些人其实不需要QT开发
虽然QT开发有很明显的优点,但是并不是所有的人都适合QT开发。比如说,假设我们开发的软件非常简单,而且只是在windows上运行,这个时候说不定用MFC开发更适合呢。还有一种情况,虽然我们开发的功能比较多,但是大部分功能都是系统集成或者是模块整合,对效率部分没有太高的要求,大部分开发人员也不是计算机专业出身,那么这个时候QT未必那么适合用来进行相关软件开发,反而是c# wpf这一类的开发平台非常适合用来进行软件开发。c#第三方库多,语法简单,对效率本身不是那么在意的同学完全可以用c# wpf进行软件开发。我们自己也需要明白,客户很多时候并不care软件是怎么开发出来的,他们关心的是功能是不是满足需求、稳不稳定、价格是不是合理。
3、使用QT是否一定需要精通c++语言
由于QT本身是基于c++进行开发的平台,很多朋友可能会比较担心,自己的c++能力是否可以胜任QT的开发。其实有这方面担心的朋友完全是多虑了,我们是使用QT来开发软件,而不是开发纯QT软件。其实只要了解基本c++语法,了解构造函数、析构函数、虚函数,了解继承、封装、多态这些基本知识点,不过分使用最新的c++语法标准,那么用c++来开发QT软件完全是可行的。退一步说,等出现问题的时候,及时改正也可以的。程序员本来就是在不停实践、不停试错的操作中进步和成长的。
4、QT的隐形风险
上面三点,说的都是程序员本身需要注意的地方。那么作为企业来说,如果使用QT作为公司上位机软件开发的主平台,那么有两个隐形风险是需要注意下的。第一,市场上合格的c++程序员不多,而且找到之后,一般用人成本都不低;第二,QT使用还会有一定的版权风险。如果是国内使用,或许这方面的风险还小一点,但是产品一旦出口,一定会涉及到合法、合规的要求,到时候再来进行处理,恐怕会有不小的代价。