前言
我本身是C#上位机软件开发工程师,之前呢,学习过C语言,两年。至毕业后一年我当了两年外聘教师,从中专到大专,再到本科,教学的是计算机专业课程,有学习过的,也有没学习过的。在老师给的内推机会,面试过了,就去北京做了C#软件开发工程师,到现在。
我为什么?要去转QT呢,从C#上位机到QT上位机开发,主要有以下几个原因:
(1)C#上位机软件,仅限于Windows系统,无法跨平台。(现在也可以了,.net core可以做到哟)
(2)岗位相比较c++,在上位机领域。岗位少的多。C++做的上位机可以跨平台,由于C++语言性质导致的,所以就业岗位多一点,就业面宽一点,在地域上也有区别。举个栗子,天津,C#岗位特别少,而且零星点点,不是一片的那种。C#做asp.net的岗位很多。(但我不想做asp.net)
(3)地域上的限制,上条已说过,不说了。
(4)所有语言套路一样,那么我就要选择一个更加久远的,吃一辈子,hhah
综上,就是我做的选择。接着分析,,,,
为啥选择C++QT呢?
同样的套路,我来挨个分析一下。
首先,C#,全能选手。
C# 家族:
网页开发:asp.net 等各种框架,NB的很,很多企业都在用,岗位也很多,薪资水平不清楚,没去过。
桌面应用开发:winform、WPF等等,主要说这两种,来咯。
winform:GUI原生态,nice,开发速度快,和PHP开发网页是一样的。缺点就是界面没那么好看,好现在也有通用UI加持,也还不错,UI控件放多了卡。
WPF:类似于VUE的MVVM数据绑定模式,网页开发,独有一套的网页标签,只适用于C#WPF,学之后转其他,感觉够呛。只能一条道走到黑。缺点:学习难度比winform大。优点:界面好看,也是网页那一套、JS、CSS
C++ 家族:
网页开发:不清楚,没了解
桌面应用开发:QT C++ 为例,
Widget:和winform一样,拖控件,完成UI设计,有一个不错点就是QSS,语法类似于CSS,或者说遵循CSS更贴切。C++操作更加底层,语言难度比C#高。
QT QML(Quick 专门是QML开发),JS、CSS做界面,C++完成功能。界面好看,难度也不低。C++有点小难。
就先来这两种哈,
对比一下,桌面应用程序想做的好看,NICE。就得用网页那一套,很多都是这样。以上就是QML和WPF,JS(TS,也加上吧,因为是JS的拓集,声明式编程)、CSS(万变不离其宗,都是遵循CSS做的),所以,我更看好,QT C++,因为那一套更接近网页的那一套标准,相当于变相的掌握了网页(HTML、JS、TS、CSS),当然了有这网页基础,用QT做UI开发更顺利。
C++ 比 C# 应用的领域广,Windows上同为竞争,Linux中C++独占鳌头,还有谁!比如:车机系统、非Windows上位机软件等等。
其他方面不论了。
QT C++ 学习路线
(1)QT C++ widget,先掌握widget,然后掌握C++;熟练使用C++完成各项功能。
(2)widget的QSS优化界面
(3)QT quick ,QML 开发,开发UI,可了劲开发UI,好看的UI实现。
(4)QML 和C++相结合,大功告成。