C++ GUI Programming with Qt4 Second Edition 之 Qt简史

Qt简史

      1995年5月,Qt开发框架首次公开发布。Qt最初由Haavard Nord(奇趣科技CEO)和Eirik Chambe-Eng(奇趣科技总裁)设计开发。Haavard和Eirik相识于Trondheim的挪威科技学院,这也是他们获得计算机科学硕士学位的地方。

      1988年,一家瑞典公司委派Haavard开发一套C++的用户界面框架,从此,Haavard对C++用户界面开发产生了浓厚兴趣。两年后,1990年夏天,Haavard和Eirik一起开发一个基于C++的超声图像数据库系统。这个系统需要在Unix、Macintosh和Windows系统上运行,并带有图形用户界面。这个夏天的一天,Haavard和Eirik外出享受阳光,他们坐在公园长椅上,Haavard说:“我们需要一个面向对象的显示系统。”这场讨论是面向对象的跨平台图形用户界面框架的理论基础,而他们也将投入于创建这一框架。

      1991年,Haavard和Eirik开始合作构建Qt,Eirik负责设计,Haavard则编写最终成为Qt的那些类。之后的一年,Eirik提出了“信号和槽”的构想,这是一个简单但功能强大的图形用户界面编程规范,如今已被多个工具包实现。Haavard接受了这一构想并进行了代码实现。1993年,Haavard和Eirik开发出了Qt的第一个图形内核类并用以实现他们自己的窗口部件。1993年底,Haavard建议进军商业领域,从而创建“世界上最好的C++ 图形用户界面开发框架”。

      对于这两位年轻的程序员来说,1994年的开始是不幸的,他们想进入一个稳定的市场,却没有客户和资金,只有一个未完成的产品。幸运的是,他们的妻子都有工作,可以支撑他们进行两年的产品开发。Eirik和Haavard预计两年后就可以开始赚钱了。

      因为字母Q在Haavard的文本编辑器Emacs字体上看起来非常完美,“Q”被选作了类名的前缀。受Xt(XToolkit的缩写)的启发,又添加了字母“t”,代表工具包(Toolkit)。1994年3月4日,Quasar Technologies公司成立,后更名为Troll Tech,最后变成了今天的Trolltech(奇趣科技)。

      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的最佳库/工具奖。与此同时,奇趣科技有限公司(澳大利亚)(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/EmbeddedLinux和Qtopia的销售服务、培训及技术支持。

      通过一些非官方的语言绑定件,非C++程序员也早就开始使用Qt了,尤其是Python程序员使用的PyQt。2007年,针对C#程序员发布了Qyoto非官方绑定件。同年,奇趣科技正式推出了Qt Jambi,这是一个官方支持的Java版Qt应用编程接口。附录C简单介绍了Qt Jambi的相关内容。

      自奇趣科技诞生以来,其推广普及就从未减弱过,时至今日仍在快速增长。Qt的成功反映了Qt的品质和其易用性。在过去的十年里,Qt从少量特定“专业人士”使用的产品发展成为拥有全世界有数以千计用户和数以万计的开源开发者的产品。


微信公众号:Qt开发社区(期待您的关注,扫下方二维码或搜索“Qt开发社区”或"Qtkfsq")

投 稿 邮 箱 :[email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章