目录
1.Qt解释
前端开发,分为网页前端开发(Web)、桌面应用开发(Windows、Linux)、移动应用开发(Android)。Qt一般用于客户端开发,这里的客户端是狭义的,指桌面应用开发。
提到Qt,与之密切相关的关键词就是“桌面应用开发”、C++、框架。
Qt不能用来开发Web网页,也不能用来开发Android应用,但是最新版的Qt也支持开发Android应用,但是几乎没人使用。
客户端开发的重要任务之一就是用户使用界面的开发。交互界面一般有两种分格:
1.命令行风格TUI (Terminal User Interface)
2.图像界面GUI (Graphical User Interface)
而Qt就是用来编写GUI程序的一套框架。
2.Windows下开发GUI的方案
1.Windows API,使用Windows系统提供的原生API来开发,早期Windows开发常用的使用方案,现在几乎淘汰了。
2.MFC (Microsoft Foundation Classes),微软基础类 库,早期划时代的一套方案。
3.Qt (1991年诞生),和MFC差不多同时期的产物,但是如今MFC已经淘汰了,而Qt社区活力满满。
以上方案都是基于C/C++语言。
还有一些方案比如GTK、wxWidgets······但是市场不多。
后来,微软自研了C# (.net) 语言,于是有了一套新的方案:
4.Windows Forms
5.从Windows Forms升级上来的方案,比如WPF、UWP等等
6.当前也比较流行的方案,Electron方案,大致是将HTML网页打包为应用程序,该技术体系是Github团队开发一款叫atom的文本编辑器所研发的,但是atom被微软开发的vscode打败了。由于该方案基于HTML轻量级网页,所以使用该方案的软件性能比Qt开发的界面差。
以上,Qt的优点,C++、跨平台 (Windows、Linux、Mac)、性能高,使得Qt一直是一棵常青树。
3.框架
框架,可以理解为优秀代码的模板,我们根据框架的规则写代码。相比之下,Java社区的spring框架十分成熟,几乎快要成为标准。而C++社区是割裂的,没有很成熟同时使用者也众多的方案,因此,很难得,Qt已经是C++社区比较优秀的方案了。
4.Qt历史
计算机神奇的一年,1991年,一家名气很小的公司奇趣科技研发了Qt技术,同年,还有Python诞生、Vim、OpenGL、Linux等众多知名技术诞生。
1996 年 进⼊商业领域,它也是当时流⾏的 Linux 桌⾯环境 KDE 的基础;
2008年,诺基亚收购了奇趣科技,在诺基亚收购后,Qt的曝光率大大提升。
2012 年 Qt ⼜被 Digia 公司收购。诺基亚手机业务断崖式下降,最后和微软做了一代Windows Phone系统的Lumia手机。
4.Qt支持的平台
Windows各个版本。Windows桌面环境和内核绑定在一起,因此,其桌面开发方案较少。
Linux各种发行版,尤其是基于Qt开发的KDE桌面。Linux下有多种桌面环境开发方案,较热门的有基于Qt的KDE方案,以及基于GTK开发的GNOME方案。
Mac
部分嵌入式系统
安卓和IOS,几乎没人使用,约等于没有。
5.Qt版本
最新为Qt 6 ,但是主流还在使用Qt 5。
6.Qt案例
Linux 桌⾯环境 KDE、WPS Office 办公软件、Google Earth ⾕歌地图 、VLC 多媒体播放器 、VirtualBox 虚拟机软件、剪映。