逛奔的蝸牛
我不聰明,但我會很努力
:: ::
新隨筆
:: :: ::
管理
::
隨筆分類
C/C++(67)
(rss)
Cocoa(26)
(rss)
Java(186)
(rss)
Mac(126)
(rss)
OpenGL(25)
(rss)
Qt(164)
(rss)
Qt自定義Widget(12)
(rss)
Xcode(5)
(rss)
其他編程(94)
(rss)
設計模式(2)
(rss)
外語(4)
(rss)
網文(74)
(rss)
搜索
最新評論
1.?re: Java:用 Java 7 運行 IDEA 13
great post
--contact form
Qt:Qt 的昨天,今天,明天
本文的作者 toartist 是一名 Qt 開發者,非常了解 Qt 的版本歷史和演進,ifanr 邀請到他寫了一篇 Qt 的回顧和展望文章。此外,作者也將參與諾基亞開發競賽,一起期待他的作品在 N8 上有出色的表現吧。
2010 年 10 月 21 日,諾基亞宣布,決定將 Qt 作為 Symbian 和 meego 唯一的應用程序開發框架。
那么人們不禁要問,Qt 是什么,為什么受到諾基亞如此重視,要將其作為自己手機平臺的“唯一”開發框架?
Qt 為什么叫 Qt,不叫OT,不叫MT呢?
我們要先追溯到上個世紀末一個關于 Qt 的鮮為人知的典故。話說在北歐挪威苦寒之地,這地方一年只有兩個月的太陽,平時都是極晝,所以那邊人因為曬太陽比較少,于是都是金黃的頭發,藍色的眼睛,皮膚白白黃毛特多。于是難得曬太陽就是件很享受的事情,就有兩個無聊的大學生很舒服地躺在桌子上嗮太陽,正嗮得舒服,兩小伙想了,閑著也是閑著,干嘛不接點私活呢,于是就去接了個給一個什么公司用 C++ 開發一個 Unix 用戶界面的程序,沒成想錢收得不多那公司還要求移植到別的系統別的電腦下,這兩費盡千辛萬苦終于搗出了一個可以跨平臺的程序。
其實這程序很小,就是一個按鈕,難得的是它能在好多系統下都能按,還是個C++ 的按鈕,后來他們把程序放到了網上,有人覺得有意思就參與一起開發了,那會兒 IT 人士過得都很滋潤啊,于是沒事就做做,之后很快就發展成了一套完整的 C++ 類庫。為什么大家叫它 Qt ,大概是因為很可愛,很 Cute(QT的讀音)吧。
那么那兩位大學生呢,時光流轉,幾年過去了,大學生也不再是大學生了,他們想 Qt 發展得不錯了,干脆開家公司賣它吧,于是他們在奧斯陸合伙開了家公司叫 Trolltech,專門開發 Qt ,一開始不順利,怎么也賣不出去,原來 Qt 在開源社區經過一幫牛人的鍛造,整得太高級了,一般人都用不動啊,于是他們嘗試將接口簡化,變成傻瓜式的開發工具,這也就是 Qt 一直宣傳的優點:
Code Less, Create More and deploy everywhere.
就這樣,一家做醫療儀器的公司有個技術總監在初步研讀了 Qt 的源碼后,終于讓他們賣出了第一個 Qt 的商業許可證。所以啊這偉大的產品都是經過很多磨難才慢慢形成的,而且要走得長遠,必須一開始就有很好的理念,看看同時期的 MFC 吧,真是氣死了多少 C++ 程序員啊,先天不足,難以為繼。后來還有個小插曲,當那位技術總監年老色衰被公司趕出山門,Trolltech 收留了他并奉為上賓,由此可以看到 Qt 創始人的一絲人性光輝以及能夠想象得到的當年 Trolltech 和諧的公司文化。
那么由于 Qt 在開源社區走了那么一遭,與開源社區結下了不解之緣,免費開源的軟件都可以免費使用 Qt ,于是 Qt 繼續在開源社區發揮無限的潛力,創就了一個又一個偉大的開源軟件,其中就包括了一個巨無霸,一整個圖形系統的 KDE 。看到這里,聰明的人就領悟到了,Qt 還有另一個極大的優勢呢,便是有眾多的開源支持,使得開發更加容易。
為什么諾基亞要收購 Qt ?
說到這里,大家還是不明白為什么諾基亞要收購 Qt , 因為這時候 Qt 還只是在桌面平臺上混,不緊不慢地發展了好幾年,PDA 開始出來了,風靡一時,本著deploy everywehre 的原則,PDA 也是要跨的,于是開始開發嵌入設備版本的Qt ,在這里 Qt 又一次借助了開源社區的力量,整合了一套嵌入式的 KDE ,便是嵌入式程序員都知道的 Qtopia 。這個偉大的產品甚至從某種程度上超越了 Qt 本身,國內的老 Qt 程序員們倒有一大半是與其打交道的,其普及之廣是其他嵌入式操作系統所無法企及的。于是乎正遭到 iPhone 巨大打擊的手機業大哥大諾基亞便是因為 Qtopia 而對 Qt 青睞有加,正好同在北歐的挪威芬蘭一家親,收購了 Qt 一起嗮太陽,看美女。
那么諾基亞收購 TrollTech 之后,讓 Qt 又發生了多大變化呢,說到這里,諾基亞不愧為大哥大,國際大公司,出手便是不凡,從 4.5 開始,首先完全整合了Qt 嵌入式版本,并加入了 Symbian 支持,針對 Qt 運行速度不夠快的缺點大力優化底層,讓 Qt 性能有了質一般的提升,提高了一倍以上的速度,同時提出了個先進的 Kinetic 的項目計劃,也就是當前 4.7 里的 QtQuick ,說到這個,就要提到微軟為 .net 大力打造的先進的 UI 組件 WPF 了,設計與代碼分離,數據驅動式的開發,令美工與程序員可以無縫合作,這東西讓微軟得意了好幾年。不過由筆者看來, Qt 的這個組件更加引人注目,原因有三,
基于 C++ 完全開源的開發模式令眾多喜歡刨根問底的 C++ 開發者受益非淺,熱情高漲。
加入了強化了的 javascript 作為動態語言契合了當前流行的開發模式,而且 javascript 這種類 C 式語法也令 C++ 程序員平滑過渡,比起其他類似 Ruby,python 之類的更加應用自如,而額外加入的數據綁定,與 C++ 擴展無縫集成等等方面比起WPF也是更加地方便易用。真正做到了快速開發而不失程序的高效。
由于 Qt 的跨平臺性,QtQuick 在未來將有著更為廣闊的應用,除了諾基亞主打的手機,平板電腦平臺,QtQuick 由于腳本文件式的開發方式甚至可以用到 web 應用程序上,當真是潛力無限,筆者作為一名開發者,深深地要向 QtQuick 的設計者們致以崇高的敬意。
方才介紹了諾基亞為 Qt 帶來的最重要的東西,那么還有什么呢,讓筆者為您一一道來。Qt 4.5 加入了一個叫 phonon 的組件,這個東西來自 KDE 的一個開源項目,強大的開源社區又為 Qt 貢獻了一個設計優良的庫,在此之上開發多媒體程序只需幾十行代碼便可搞定,Qt 一直以來所追求的精神又一次得到了完美的體現,但諾基亞的開發人員卻不滿足,又在 4.6 加入了一個 multimedia 的庫,用以更底層的多媒體開發。真是面面俱到,令 Qt 的程序員們為之瘋狂。
還有一個不得不提到的 webkit,這個在 Apple 的瀏覽器上大放異彩的開源瀏覽器引擎,Qt 理所當然地不能放過,Qt 版的 webkit 令 Qt 的開發者無論是打造自己的瀏覽器還是做與 web 相關的程序都只需輕輕幾行代碼便可做到,筆者不禁要感嘆,有了 Qt ,寫代碼真正是變成了樂趣。
而在手機方面,諾基亞做得更多,一個 Mobility 的 Qt 組件正逐漸完善,它封裝了諾基亞手機操作系統的底層,提供了一個統一的接口操作手機的各個方面,包括攝像頭,短信,以及智能手機的各種傳感器,在這方面 Qt 又超越了 google 猶抱琵琶半遮面的 Android 以及 Apple 完全封閉的 iPhone 的開發框架。所以擁有巨大開源勢力支持的 Qt 的野心又豈止在諾基亞本家,Qt 有兩個分支版本針對 iPhone 的 Qt-iPhone 和針對 Andriod 的 Android-Lighthouse 正在悄然無息地開發之中。
到了這里,筆者作為一名 C++ 開發者不禁要竊喜,正當 Android 選擇了 java,而 iPhone 使用著 object-c ,我們借助偉大的 Qt ,必將凌駕于所有平臺之上。
從過去看到現在,那么我們再展望下在諾基亞強大實力支持下的 Qt 又將有著如何輝煌的未來吧。
諾基亞已經為 Qt 設置了 Roadmap,其它全方位的支持筆者就不多說了,除了一直承諾的代碼優化在開源社區的支持下會做得更好以外,下一代的 widget 將架構在 QtQuick 之上,一直認為 Qt GUI 并無新意的程序員們可以看到 Qt 的努力了。這方面 Qt 并不遜于 iPhone 和 Android 的開發框架,未來也將做得更好,這點從 QtQuick 大膽而又優秀的設計上就可以看到,Qt 將 UI 變成了一門藝術。如果你是一名 C++ 程序員,Qt 就是你夢想中的開發工具,能為你的開發效率提高何止 5 倍。而 Qt 也不僅僅屬于 C++,早在諾基亞收購之前就有了java 版的接口,python 的接口等等。那么正在面對眾多混亂的開發工具而迷茫無助的你,還有什么理由拒絕由諾基亞發出的 Qt 邀請?
posted on 2010-11-25 15:40
逛奔的蝸牛
閱讀(1049)
評論(0)
編輯
收藏
引用
所屬分類:
Qt
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
Qt:編碼范圍
Qt:Windows Qt 去掉選中的虛線框
Qt:定制qDebug等輸出的格式
Qt:給QWidget添加shadow效果
Qt:Q_DECLARE_METATYPE和qRegisterMetaType
Qt:繪制帶高光的按鈕
Qt:FontMetrics
Mac:Mac下安裝PHP, MySql開發環境
Qt:無標題欄無邊框程序的拖動和改變大小
Qt:Use Third Party Libraries
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 逛奔的蝸牛
性做久久久久久久久浪潮
|
欧美大香线蕉线伊人久久
|
亚洲综合精品香蕉久久网97
|
国产精品免费久久久久电影网
|
久久精品国产精品亚洲人人
|
区亚洲欧美一级久久精品亚洲精品成人网久久久久
|
精品久久人人妻人人做精品
|
亚洲午夜无码久久久久小说
|
久久久久亚洲Av无码专
|
久久久久国产视频电影
|
中文精品久久久久人妻不卡
|
久久婷婷国产麻豆91天堂
|
久久受www免费人成_看片中文
|
精品少妇人妻av无码久久
|
日韩欧美亚洲国产精品字幕久久久
|
国产69精品久久久久99尤物
|
伊人久久大香线蕉无码麻豆
|
国产精品久久久久影院色
|
日韩久久久久中文字幕人妻
|
狠狠色婷婷综合天天久久丁香
|
亚洲国产视频久久
|
久久精品无码免费不卡
|
久久精品国产影库免费看
|
伊人久久无码中文字幕
|
欧美与黑人午夜性猛交久久久
|
国产精品女同久久久久电影院
|
久久精品国产99国产精品
|
72种姿势欧美久久久久大黄蕉
|
久久久精品国产
|
一本色综合久久
|
久久影视国产亚洲
|
久久精品女人天堂AV麻
|
青青热久久国产久精品
|
精品久久8x国产免费观看
|
久久亚洲AV成人无码软件
|
亚洲国产日韩欧美综合久久
|
久久久久亚洲?V成人无码
|
久久国产香蕉一区精品
|
日本精品久久久久影院日本
|
久久久国产精品网站
|
久久精品国产久精国产思思
|