Qt發展史及優勢

​前言:Qt作爲一個跨平臺的界面開發平臺,經過了歷史長河的洗禮以及一代代Qt開發者的不斷努力,其意義已經遠遠高於開發界面。使用Qt你甚至可以利用硬件的一切資源開發出一套桌面系統。

一、什麼是Qt?

Qt是由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發界面程序,比如pc端的多窗口軟件以及嵌入式的單窗口界面(包括安卓界面);也可以開發非界面程序,例如某些動態鏈接庫程序,在創建工程的時候會選擇你創建工程的類型。

pc軟件界面

 

嵌入式界面

 

目前使用最廣泛的qt版本是由C++爲主要語言的Qt,此外還有pyQt也會有大批人使用,這兩種的區別就是調用Qt庫是使用C++還是python。關於討論這兩種版本的好處一直也是熱點問題,筆者認爲討論這兩個版本的好處不如說你熟悉哪種語言,客觀上當然是python更加好一些,因爲python是比C++更加面向對象的語言,而我們知道越上層的語言會造成最終產品更慢,但是使用pyQt是直接調用Qt的API,我們完全不必擔心程序執行速度的問題。當然,本人是C入門,所以使用C++版本的Qt會更加舒服一些。

從Qt4.7開始,QML開始加入到Qt中成爲與C++同等地位的語言,此時的Qt已經被諾基亞收購,諾基亞希望將Qt應用到自己的系統中,而widget構建的界面已經不能夠滿足移動端的界面優化,或者說開發出優美的界面過於繁瑣,所以急需一種描述性的機制來完成界面的製作。而QML基於JS 開發,更加簡單實用。從Qt5開始,QML完成了大跨度的進步,一舉成爲真正意義上的與C++同等地位的語言。當然,由於JS本身語言的限制,QML只能完成漂亮的界面製作,而C++能夠調用Qt的API來完成功能的實現,二者的交互可以完成一套非常完美的產品

二、Qt歷史及發展

1991:Haavard Nord和Eirik Chambe-Eng開始開發將會支持X11和Windows的Qt

1994:Qt Company成立,在這之後改名爲Trolltech,中文名是奇趣科技。

1995:Qt的第一個商業版本發佈,Qt正式步入商業化。但是Qt一直分爲商業版開源版兩個版本,商業版由Qt公司提供技術支持,開源版可以奉行Qt公司的規則來免費使用。

2000:Qt嵌入式版本發佈標誌着Qt多平臺開發已經由多窗口向着單窗口發展。同年,Qt全平臺使用GPL協議,GPL協議指如果你開發了新程序,每個人都能在遵守條款的基礎上對它進行修改和重新發布。從客觀上講使用這一協議限制了Qt的發展。

2008:諾基亞公司宣佈通過公開競購的方式收購奇趣公司,Qt技術被諾基亞公司收入囊中,諾基亞也根據自己移動平臺來規劃Qt的發展。

2009:從發佈的Qt 4.5 起,諾基亞爲Qt增添開源LGPL授權選擇,這一協議直接讓Qt完全成爲大衆化的代碼庫,是一種進步的表現。同年,諾基亞Qt Software 宣佈Qt源代碼庫面向公衆開放,Qt 開發人員可通過爲 Qt 以及與 Qt 相關的項目貢獻代碼、翻譯、示例以及其他內容,協助引導和塑造 Qt未來的發展。爲了便於這些內容的管理,Qt Software 啓用了基於Git 和 Gitorious 開源項目的Web 源代碼管理系統。

2011:Digia從Nokia收購了Qt的商業版權,從此Nokia負責Qt on Mobile,Qt Commercial由Digia負責

2012:作爲非核心資產剝離計劃的一部分,諾基亞宣佈將Qt軟件業務出售給芬蘭IT服務公司Digia。

2014:跨平臺集成開發環境Qt Creator 3.1.0正式發佈,實現了對於iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調試支持,集成了基於Clang的C/C++代碼模塊,並對Android支持做出了調整,至此實現了全面支持iOS、Android、WP,它提供給應用程序開發者建立藝術級的圖形用戶界面所需的所有功能。

三、Qt的優勢

1、跨平臺。我們編寫的一套程序,若沒有極其特殊的要求,通過更改編譯步驟,是可以在其他嵌入式或者linux界面上被支持的,所以Qt可以算是MFC的一個超集。這對於很多嵌入式程序員來說可以說是一個福利。

2、面向對象。模塊化程度高,重用性好;使用相對安全的信號與槽機制來代替回調函數,各個函數之間的協調更加靈活。

3、豐富的API。我們所需要的庫,在其API中都可以找到,並且有很高的集成度,不僅速度快並且簡單易用。

4、幫助文檔豐富。我們在使用庫函數時,並不是每個函數都可以清楚記得作用及用法,此時Qt的幫助文檔可以幫助我們解決此問題

5、Qt支持2D/3D圖形渲染,並且支持OpenGL。

Qt成功案例

1、WPS:金山公司推出的辦公軟件,可與microsoft office兼容良好。

2、咪咕音樂:中國移動推出的音樂軟件,擁有海量的版權。

3、VirtualBox:一款常用的虛擬機軟件。

4、Autodesk Maya:3D建模和動畫軟件。

5、eva:Linux版QQ聊天軟件。

6、Stellarium:一款天文學的自由軟件。

7、刺蝟大作戰:一個基於百戰天蟲的開源遊戲。

8、Opera:著名的網頁瀏覽器。

9、Arora:一款跨平臺的開源網頁瀏覽器

10、VisIt:一個開源型交互式並行可視化與圖形分析工具,用於查看科學數據。

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