本文主要是介绍Qt 的发展历史、现状与启示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Qt 最早在1991年由挪威的两位程序员 Eirik Chambe-Eng 和 Haavard Nord 开发,他们在1994年创立 Trolltech 公司(奇趣科技)正式经营软件业务。Qt 的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到2012年,在诺基亚全面转向微软系后,将 Qt 软件业务出售给了芬兰 IT 服务公司 Digia;2016年,Qt 公司从 Digita 独立出来并在芬兰上市;2017年获得 1500 万欧元投资;2018年在坚持了20多年后,Qt 终于迎来了物联网时代,在智能汽车、智能制造业等领域变得愈发重要。
初创阶段
Haavard 和 Eirik 相识于特隆赫姆(Trondheim)的挪威科技学院,这也是他们获得计算机科学硕士学位的地方。1988年,一家瑞典公司委派 Haavard 开发一套 C++ 的用户界面框架,从此,Haavard 对 C++ 用户界面开发产生了浓厚兴趣。
两年后,1990年夏天,Haavard 与 Eirik 一起在特隆赫姆医院从事超声设备的软件开发,开发一个基于 C++ 的超声图像数据库系统。这个系统需要在 Unix、Macintosh 和 Windows 系统上运行,并带有图形用户界面。这个夏天的一天,Haavard 和 Eirik 外出享受阳光,他们坐在公园长椅上,Haavard 说:“我们需要一个面向对象的显示系统。” 这场讨论是面向对象的跨平台图形用户界面框架的理论基础,而他们也将投入于创建这一框架。可以说,正是由于对当时跨平台软件开发工具的不满意,他们才决定开发 Qt。
1991年,Haavard 和 Eirik 开始合作构建 Qt,Eirik 负责设计,Haavard 则编写最终成为 Qt 的那些类。之后的一年,Eirik 提出了“信号和槽”的构想,这是一个简单但功能强大的图形用户界面编程规范,如今已被多个工具包实现。Haavard 接受了这一构想并进行了代码实现。1993年,Haavard 和 Eirik 开发出了 Qt 的第一个图形内核类并用以实现他们自己的窗口部件。1993年底,Haavard 建议进军商业领域,从而创建“世界上最好的 C++ 图形用户界面开发框架”。
1994年3月4日,Haavard 和 Eirik 共同创立了 Quasar Technologies 公司,后更名为 Troll Tech,也就是后面人们熟知的 Trolltech(奇趣科技)。对于这两位年轻的程序员来说,1994年的开始是不幸的,他们想进入一个稳定的市场,却没有客户和资金,只有一个未完成的产品。幸运的是,他们的妻子都有工作,可以支撑他们进行两年的产品开发。Eirik 和 Haavard 预计两年后就可以开始赚钱了。
至于为什么这个图形框架取名为“Qt”,是因为字母 Q 在 Haavard 的文本编辑器 Emacs 字体上看起来非常完美,因此“Q”被选作了类名的前缀。同时,受 Xt(XToolkit 的缩写)的启发,又添加了字母“t”,代表工具包(Toolkit)。
1995年4月,在 Haavard 一个大学教授的介绍下,一家挪威公司 Metis 雇佣他们使用 Qt 开发软件。几乎与此同时,奇趣科技招聘了 Arnt Gulbrandsen。在奇趣科技的六年里,Arnt 设计实现了独具特色的文档系统,对 Qt 的代码也做出了不少贡献。
1995年5月20日,在 sunsite.unc.edu 上传了 Qt 0.90 版本。六天后,Qt 的发行版本发布在 comp.os.linux.announce 上。这是 Qt 的首个公开发行版本。Qt 可以用于进行 Windows 和 Unix 系统开发,并在两个系统平台上提供相同的应用程序接口(API)。从第一天起,Qt 就提供了两种授权许可版本:用于商业开发的商业许可版和用于开源开发的免费版本。Metis 的合同保证了奇趣科技的正常发展,然而,在之后的十个月里再没有一个人购买 Qt 的商业许可协议。
1996年3月,欧洲太空总署成为了 Qt 的第二个用户,并购买了 10 个 Qt 的商业许可协议。凭着坚定的信念,Eirik 和 Haavard 又雇佣了其他开发人员。5月底,Qt 0.97 版本发布;9月24日,Qt 1.0 版本发布;同年年底,Qt 已经发布到了 1.1 版本。来自不同国家的八个用户购买了 18 个许可协议。也是在这一年,在 Matthias Ettrich 带领下,开始了 KDE 项目。
Qt 1.2 版本于1997年4月发布。Matthias Ettrich 用 Qt 构建 KDE 的决定帮助 Qt 成为 Linux 系统上开发 C++ 图形用户界面的事实标准。1997年9月,Qt 1.3 版本发布。
Matthias 于1998年加入奇趣科技,9月份,Qt 1.x 的最后一个主版本 1.40 版发布。1999年6月,Qt 2.0 发布。Qt 2 有一个新的开源许可协议 —— Q公共许可协议(Q Public License,QPL),它与开源的定义一致。1999年8月,Qt 赢得了 LinuxWorld 的最佳库/工具奖,开始受到投资者的广泛关注,并在2000年互联网泡沫破灭之前获得了 800 万美元的资金。与此同时,奇趣科技有限公司(澳大利亚)(Trolltech Pty Ltd)成立。
奇趣科技在2000年发布了 Qt/Embedded Linux。它被设计作为 X11 的轻量级替代产品,运行于嵌入式 Linux 系统设备,并提供窗口系统。Qt/X11 和 Qt/Embedded Linux 不仅提供了商业许可协议,还提供了被广泛应用的 GNU 公用许可协议(General Public License,GPL)。2000年年底,奇趣科技有限公司(美国)(Trolltech Inc)成立,并发布了 Qtopia 的首个版本。Qtopia 是应用于移动电话和掌上电脑(PDA)的应用软件平台。Qt/Embedded Linux 在2001和2002年连续两年赢得了 LinuxWorld 的“最佳嵌入式 Linux 解决方案奖”,Qtopia Phone 在2004年获得了相同奖项。
2001年,Qt 3.0 版本发布。Qt 已经可以应用于 Windows、MacOS X、Unix 和 Linux(桌面系统和嵌入式系统)系统。Qt 3 提供了 42 个新的类,代码行也超过了 500000 行。Qt 3 在 Qt 2 的基础上迈进了一大步,在很多方面进行了重大改进,主要包括本地化、统一字符编码标准(Unicode)支持、一个全新的文本编辑查看部件以及一个类似于 Perl 的正则表达式类。Qt 3 在2002年获得了 SoftwareDevelopment Times 的"Jolt Productivity Award"。
2005年夏天,Qt 4.0版本发布。Qt 4 较之前版本更加全面和丰富,共有大约 500 个类和 9000 多个函数。Qt 被分成了几个不同的函数库,开发人员只需要链接他们用到的那部分即可。Qt 4 在前续版本上进行了重大改进,包括一套全新的高效易用的模板容器、高级的模型/视图功能、灵活高速的二维绘制框架、强大的 Unicode 文本读写类以及对 Qt 类进行的数以千计的功能增强。伴随着 Qt 应用范围的扩大,Qt 已不仅仅是一个图形用户界面工具包,俨然发展成一个成熟的应用开发框架。Qt 4 也是首个在其支持的所有平台上既能进行商业开发又能进行开源开发的 Qt 版本。
同样是在2005年,奇趣科技在北京成立了办事处,以发展中国客户,并提供 Qt/Embedded Linux 和 Qtopia 的销售服务、培训及技术支持。
通过一些非官方的语言绑定件,非 C++ 程序员也早就开始使用 Qt 了,尤其是 Python 程序员使用的 PyQt。2007年,针对 C# 程序员发布了 Qyoto 非官方绑定件。同年,奇趣科技正式推出了 Qt Jambi,这是一个官方支持的 Java 版 Qt 应用编程接口。
自奇趣科技诞生以来,其推广普及就从未减弱过,时至今日仍在快速增长。Qt 的成功反映了 Qt 的品质和其易用性。多年来,Qt 已成为世界领先的软件开发框架之一,如今已成为跨各种平台创建应用程序的行业标准,在全世界拥有数以千计用户和数以万计的开源开发者的产品。
Nokia 阶段
诺基亚(Nokia)曾是全球手机市场的霸主,但自从2007年 iPhone 掀起的智能手机革命,加上 Android 的出现,诺基亚逐渐走向衰落。
2008年,诺基亚以 1.53 亿美元收购奇趣科技并将其改名为 Qt Software,以加速诺基亚针对移动终端和桌面应用跨平台的软件战略的实施,以及拓展其互联网服务业务。2009年8月,Qt Software 再次改名为 Qt Development Frameworks(Qt 开发框架)。
从正式发布开始,Qt 就提供了两种授权许可版本,即适用于商业项目的商业许可版和适用于开源项目的 GPL 许可。2009年1月,诺基亚宣布 Qt 支持 LGPL 2.1 授权,将其推向开源。这实质上是为了让更多开发人员可以免费使用它,虽然仍有一些模块使用不开源的 Qt 授权。(LGPL 授权的限制强度处于 GPL 和 BSD 之间,也为 Mozilla 和 OpenOffice 等开源软件所采用的许可证)
在此期间,诺基亚联合英特尔利用 Qt 开发了全新的智能手机系统 MeeGo,可惜遭遇了微软木马屠城,诺基亚最终被迫放弃了 MeeGo,而 Qt 商业授权业务也于2011年3月出售给了芬兰 IT 服务公司 Digia。2011年第二季度,诺基亚被苹果和三星双双超越,在智能手机市场的销量落后于苹果及三星的手机,而在低端手机市场,又无法制住其它的亚洲竞争对手。2013年9月3日,微软宣布将以 72亿美元收购诺基亚手机制造等业务;2014年11月,诺基亚宣布不会再制造手机。
Digia 阶段
2011年至2012年间,芬兰 IT 服务公司 Digia Oyj 从诺基亚收购所有 Qt 业务,并计划使 Qt 支持 Android、iOS 和 Windows 8,大力推广移动平台开发和商业应用。
2014年9月,Digia 宣布成立 Qt Company 全资子公司,独立运营 Qt 商业授权业务。2016年3月,Qt 公司(Qt Group)被 Digia 分拆为独立公司,并于同年5月在赫尔辛基证券交易所挂牌上市。经历艰难曲折,Qt 终于算是步入正轨了。
如今,Qt 依然提供了 GPL、LGPL 和 Commercial 三种授权协议。根据公开资料,Qt 目前在全球12个国家拥有近700名员工(其中300名研发),2022财年销售收入 1.55 亿欧元。
扩展阅读
- About Qt - Qt Wiki
- Qt History - Qt Wiki
- Qt version history - Qt Wiki
- Qt (software) - 维基百科
- Qt Project - 维基百科
- 诺基亚 - 维基百科
这篇关于Qt 的发展历史、现状与启示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!