1. 程式人生 > >Qt發展歷史及其特點簡介

Qt發展歷史及其特點簡介

Qt 是一個跨平臺的C++應用程式框架,支援Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系統等。也就是說,Qt 可以同時支援桌面應用程式開發、嵌入式開發和移動開發,覆蓋了現有的所有主流平臺。你只需要編寫一次程式碼,釋出到不同平臺前重新編譯即可。

Qt 不僅僅是一個GUI庫,它除了可以建立漂亮的介面,還有很多其他元件,例如,你不再需要研究STL,不再需要C++的<string>標頭檔案,不再需要去找解析XML、連線資料庫、Socket 的各種第三方庫,這些 Qt 都已經內建了。

Qt 是應用程式開發的一站式解決方案!

Qt 雖然龐大,封裝較深,但它的速度並不慢,雖不及MFC,但比Java、C#要快。Qt 程式最終會編譯成原生代碼,而不是依託虛擬機器。

Qt 命運多舛,總共經歷了三家公司:
  • Qt 由奇趣科技公司(Trolltech)的兩位創始人於1990年著手開發,1995年釋出Qt  1.0。

  • 2008年,奇趣科技被諾基亞公司收購,Qt 也因此成為諾基亞旗下的程式語言工具。

  • 在智慧手機的衝擊下諾基亞大廈轟然倒塌,2012年將 Qt 轉讓給Digia公司。

Digia 是一家總部位於芬蘭的IT業務供應商,每天向全球數以百萬的人提供通訊技術的及時解決方案,業務涉及電信、工業、貿易、金融等,客戶包括諾基亞、索尼愛立信、惠普、甲骨文等全球一流企業。 超過1200名研發精英分別位於芬蘭、瑞典、愛沙尼亞、俄羅斯、中國等地為客戶提供端到端的服務。

Qt 可以做什麼:

使用 Qt 開發的程式非常多。1997年,Qt 被用來開發 Linux 桌面環境 KDE,大獲成功,使 Qt 成為 Linux 環境下開發 C++ GUI 程式的事實標準。Linux 也是嵌入式的主力軍,廣泛應用於消費類電子、工業控制、軍工電子、電信/網路/通訊、航空航天、汽車電子、醫療裝置、儀器儀表等相關行業,這些地方都有 Qt 的影子。



在 Windows 下,GUI 解決方案比較多,基於C++的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基於C#的有 WinForm、WPF,基於Java的有AWT、Swing,基於Pascal的有Delphi,還有國內初露頭角的 aardio;如果你有Web開發經驗,也可以基於Webkit或Chromium將網頁轉換為桌面程式。


總之,沒有哪一種方案能夠獨霸Windows,用 Qt 來開發 Windows 桌面程式有以下優點:
  • 簡單易學:Qt 封裝的很好,幾行程式碼就可以開發出一個簡單的客戶端,而 MFC 封裝簡陋,還需要了解 Windows API,普遍反映難學。

  • 資料豐富:資料豐富能夠成倍降低學習成本,否則你只能去看原始碼,關於 DirectUI、Htmlayout、aardio 的資料就很少。

  • 漂亮的介面:Qt 很容易做出漂亮的介面和炫酷的動畫,而 MFC、WTL、wxWidgets 比較麻煩。

  • 獨立安裝:Qt 程式最終會編譯為原生代碼,不需要其他庫的支撐,而 Java 要安裝虛擬機器,C#要安裝 .NET Framework。

  • 跨平臺:如果你的程式需要執行在多個平臺下,同時又希望降低開發成本,Qt 幾乎是必備的。


下面的程式都使用 Qt 開發:

WPS、YY語音、Skype、豆瓣電臺、蝦米音樂、淘寶助理、千牛、暴雪的戰網客戶端、VirtualBox、Opera、咪咕音樂、Google地圖、Adobe Photoshop Album 等。

但是,由於Android本身支援Java,iOS本身支援Objective-C和Swift,所以Qt 在移動端的貢獻寥寥無幾。


總起來說,Qt 主要用於桌面程式開發和嵌入式開發。