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