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]


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