目录
记住:技术之间有很强的关联性~~
互联网岗位介绍
互联网的核心岗位如下:
- 开发(程序猿最关注)
1)后端开发
2)前端开发:又叫大前端开发
3)算法工程师
4)游戏开发
......- 测试
- 运维
- 产品经理
前端开发又有:
a)网页前端开发(做网页的)
b)桌面应用开发(做电脑上的应用程序的)
c)移动应用开发(做手机上的应用程序的)
这些前端开发又可以称之为“客户端开发”
QT这个技术,就是用来做“客户端开发”的,注意QT不可以做网页和移动开发,它主要用于桌面应用开发
注:目前QT官方也支持移动应用开发了,但是市场上似乎还没有什么知名的软件是QT开发的
客户端:直接和用户打交道的这一端程序
例如:hrome,cctalk,QQ音乐,steam等
服务器:站在客户端后面的男人
虽然大部分的客户端程序是需要背后有服务器做支撑的,但是确实有有些程序,是不需要服务器的,这样的程序(比如:画图板,计算器......)同样也是直接和客户打交道,也可称之为“客户端程序”
客户端
客户端的任务:编写和用户交互的界面
有两种风格:
- 命令行界面/终端界面(黑框框) => TUI开发 (gcc,gdb......)
- 图形化界面 => GUI开发
TUI是给专业的程序员使用的;
GUI是给普通用户使用的;
QT 就是用来编写桌面GUI程序的一套框架!!
编写GUI的方案
在windows编写GUI程序也是有很多解决方案的,QT只是其中一种
- windows API:windows系统提供的原生API,开发起来非常原始和繁琐
- MFC:在20世纪90年代影响力深远,凉了(不更新了已经)
- QT:1991年诞生,目前依然在更新,仍有生命力
- windows Forms:微软给C#.(net) 量身定做的一套GUI开发体系
- WPF:凉了
- UWP:凉了
- Electron:本质是将基于HTML这样的网页,打包成一个windows上运行的客户端程序,Github公司开发的,不过凉了,被VScode给打趴了
QT虽然只是上述解决方案中的一种,但仍然属于是其中非常能打的一个(商业公司的产品,使用QT也是非常多的,对应的商业技术解决方案也是更多的)
QT有一个非常强势的优势:跨平台 ,它不仅支持windows系统还支持Linux和Mac,以及嵌入式系统
综上:QT是一个跨平台的C++图形用户界面应用程序框架
框架
框架本质是一群大佬发明出来的,方便让咱们普通的小菜机程序员,写出来的代码也比较靠谱
记住,代码不一定是越自由越好的,自由灵活,带来的风险是越容易出错,而框架就是限制程序员的自由
类比框架和库,都是属于大佬把代码写好了,我们去使用
库:被程序员调用的(程序员是主体)
框架:框架占主体 ,程序员配合框架,完善填充框架中的细节部分
软件选择
商业许可:向迪迦公司购买商业许可证,提供更多的功能和服务
开源许可:直接白嫖
记住,商业许可买的更重要的是技术支持
QT优点
- 跨平台,几乎支持所有平台
- 接口简单,容易上手,学习QT框架对学习其他框架有参考意义
- 一定程度上简化了内存回收机制(半自动的垃圾回收,能够简化内存释放,也能尽可能小的影响程序的运行效率)
- 开发效率高
- 有很好的社区氛围,市场份额在缓慢上升
- 可以进行嵌入式开发