Qt小传——从诞生到发展、繁荣

来源:互联网 发布:网页数据库查询系统 编辑:程序博客网 时间:2024/05/08 23:24

Qt框架首度为公众可用是在1995年5月。它最初由Haavard Nord(奇趣科技公司的CEO)和Eirik Chambe-Eng(公司总裁)开发而成。Haavard和Eirik在位于挪威特隆赫姆的挪威科技学院相识,在这,他们都获得了计算机科学硕士学位。

Haavard对C++图形用户界面开发的兴趣始于1988年,当时一家瑞典公司委托他开发一套C++图像用户界面框架。几年后,在1990年的夏天,Haavard和Eirik因为一个超声波图像方面的C++数据库应用程序而在一起工作。这个系统需要一个能够在UNIX、Macintosh和Windows上都能运行的图像用户界面。在那个夏天中的某天,Haavard和Eirik一起出来散步,享受阳光,当他们坐在公园的一条长椅上时,Haavard说:“我们需要一个面向对象的显示系统。”由此引发的讨论,为他们即将创建的面向对象的、跨平台的图形用户界面框架奠定了智力基础。


1991年,Haavard和Eirik开始一起合作设计、编写最终成为Qt的那些类。在随后的一年中,Eirik提出了“信号和槽”的设想——一个简单并且有效的强大的图像用户编程规范。而现在,他已经可以被多个工具包实现。Haavard实践了这一想法,并且据此创建了一个手写代码的实现系统。到1993年,Haavard和Eirik已经开发出了Qt的第一套图像内核程序,并且能够利用它实现他们自己的一些窗口部件。同年末,为了创建“世界上最好的C++图形用户界面框架”,Haavard提议一起进军商业领域。

1994年成为两位年轻程序员不幸的一年,他们没有客户,没有资金,只有一个未完成的产品,但是他们希望能够闯进一个稳定的市场。幸运的是,他们的妻子都有工作并且愿意为她们的丈夫提供支持。在这两年里,Haavard和Eirik人为,他们需要继续开发产品并且从中赚的收益。

之所以选择字母“Q”作为类的前缀,是因为该字母在Haavard和Eirik字体中看起来非常漂亮。随后添加的字母“t”代表工具包“Toolkit”,这是从“Xt”——一个X工具包的命名方式中获得的灵感。公司于1994年3月4日成立。最初的名字还是“Quasar Thechnologies”,随后更名为“Troll Tech”,而公司今天的名字则是“Trolltech”。

1995年4月,通过Haavard就读过的大学的一位教授的联系,挪威的Metis公司与他们签订了一份基于Qt进行软件开发的合同。大约在同一时间,公司雇用了Amt Gulbrandsen,在公司工作的六年时间里,他设计并实现了一套独具特色的文档系统,并且对Qt的代码也做了不少贡献。

1995年5月20日,Qt0.9被上传到sunsite.unc.edu。6天后,在comp.os.linux.announce上发布。这是Qt第一个公开发行的版本。Qt既可以在Windows上的程序开发,又可以用于UNIX上的程序开发,而且在这两种平台上,都提供了相同的应用程序编程接口。从第一天起,Qt就提供了两个版本的软件许可协议版本。一个是进行商业开发所需要的商业版本,一个是适用于开源开发的自由软件许可版本。Metis的合同确保了公司的发展,然而,在长达十个月的时间内,在没有任何人购买Qt的商业许可协议。

1996年3月,欧洲航天局(European Space Agency)购买了10分Qt的商用许可协议,他成了第二个Qt用户。凭着坚定的信念,EEirik和Haavard有雇佣了另外一名开发人员。Qt 0.97在同年5月底正式发布,随后在1996年9月24日,Qt1.0正式面世。到了这一年的年底,Qt的版本已经发展到了1.1.共有来自8个国家的客户买了18分商用许可协议。也就是在这一年,在Matthias Ettrich的带领下,创立了KDE项目。

Qt 1.2于1997年4月发布。Matthias Ettrich利用Qt建立KDE的决定,使Qt成为Linux环境下开发C++图像用户界面的事实标准。Qt1.3于1997年9月发布。

Matthias Ettrich在1998年加入公司,并且在当年9月,发布了Qt 1系列的最后一个版本——V1.40.199年6月,Qt 2.0发布,该版本有有一个新的开源许可协议——Q公共许可协议(QPL,Q Public License),他与开源的定义一直。1999年8月,Qt赢得了LinuxWorld的最佳奖/工具奖。大约在这个时候,Trolltech Pty Ltd成立了。

2000年,公司发布了Qt/Embedded Linux,它用于Linux嵌入式设备。Qt/Embedded Linux提供了自己的窗口系统,并且可以作为X11的轻量级替代产品。现在,Qt/X11和Qt/Embedded Linux 除了提供商业许可协议之外,还提供了广为使用的GNU通用公共许可协议(GPL,General Public License)。2000年底,成立了Trolltech Inc,并发布了Qtopia的第一版,他是一个用于移动电话和掌上电脑的环境平台。Qt/Embedded Linux在2001年和2002年两次获得了Linux World的“Best Embedded Linux Solution”奖,Qtopia Phone也是在2004年获得了同样的荣誉。

2001年,Qt 3.0发布。现在,Qt已经可用于Windows、MacOS、NUIX、和Linux(桌面和嵌入式)平台。Qt 3 提供了42个新类和超过500000行代码。Qt3是自Qt2以来前进历程中最为重要的一步,他在诸多方面上都进行了改良,包括本地化和统一字符编码标准的支持、全新的文本查看和编辑窗口部件,以及一个类似于Perl正则表达式的类等。2002年,Qt3赢得了Software Develpment Times 的“Jolt Productivity Award”。

2005年夏,Qt 4.0发布,他大约有500个类和9000多个函数,Qt4.0比以往的任何一个版本的都要全面和丰富,并且他已经裂变成多个函数库,从而是开发人员可以根据自己的需要只连接需要的Qt部分。相对于以前的Qt版本,Qt4 的进步是巨大的,他不仅彻底的对高效易用的模板容器、高级的模型/视图功能、快速而灵活的二维绘图框架和强大的统一字符编码标准的文本查看和编辑类进行了大量的改进,更不必说对那些贯穿整个Qt类中的成千上万个小的改良。现如今Qt已经超越了作为图形用户界面工具包的界限,逐渐成长为一个成熟的应用程序开发框架。Qt4 也是第一个能够在其所有可支持的平台上既可以用于商业开发又可以用于开源开发的Qt版本。

同在2005年,公司在北京开设了一家办事处,以便于中国及其销售区域内的用户提供服务和培训,并且为Qt/EmdeddedLinux 和 Qtopia提供技术支持。

通过获取一些非官方的语言绑定件(language bindings),非C++程序员也可以使用Qt,特别适用于Python程序员的PyQt语言绑定件。2007年,公司也发布了用于C#程序员的非官方语言绑定键Qyoto。同一年,QtJambi投放市场,他的一个官方支持的Java版本Qt应用程序编程接口。

自奇趣科技公司诞生以来,Qt的声望经久不衰,而且至今依旧持续高涨。取得这样的城进不进说明了Qt的质量,而且也说明人们都非常喜欢应用它。在过去的十年中,Qt已经从一个只被少数专业人士所熟悉的“秘密”产品,发展到了如今遍及全世界拥有数以千计的客户以及数以万计的开源开发人员的产品。


参考文献:C++ GUI with Q4编程

0 0