自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

App Really Matters!諾基亞N9讓Qt無處不在!

移動(dòng)開發(fā)
諾基亞N9從上市以來一直深受多方關(guān)注,其中不乏在智能手機(jī)細(xì)分領(lǐng)域頗有見地的發(fā)燒友。發(fā)燒友們從不同角度跟大家分享了他們對(duì)諾基亞N9滑動(dòng)操作的理解,我們特地在這里刊發(fā)與大家共賞。

我來作為轉(zhuǎn)到Qt還不久的新人來談?wù)剬?duì)Qt的總體感覺吧。iPhone4的熱賣已經(jīng)說明了Applications的重要性,先不說智能手機(jī),就算在平板領(lǐng)域,Android的落后,就是因?yàn)閼?yīng)用沒有跟上。

其實(shí)目前使用Qt開發(fā)的程序還是很多的,列舉幾個(gè)我們比較熟悉的:Adobe Photoshop Album, Amazon Kindle, Autodesk Maya, Google Earth, KDE Display Manager, KeePassX, KOffice, Konqueror, Skype, VirtualBox, VLC media player.

【KDE/Qt和GTK/GNOME的素來的斗爭】*

[[55272]]

在 Unix 的圖形界面一向是以 MIT 的 X Window 系統(tǒng)為標(biāo)準(zhǔn), 可是在商業(yè)應(yīng)用上有兩大流派,一派是以 Sun 公司領(lǐng)導(dǎo)的Openlook 陣營,一派是 IBM/HP 領(lǐng)導(dǎo)的OSF (Open Software Foundation) 的 Motif, 雙方經(jīng)過多年競爭之后, Motif 最終勝出,成為最普遍使用的界面庫, 后來雙方又妥協(xié)出一個(gè) CDE(Common Desktop Enviroment) 作為一個(gè)標(biāo)準(zhǔn)的圖形界面。 但是Motif/CDER 的價(jià)格非常昂貴,在這同時(shí)微軟的 Windows 圖 形界面發(fā)展速度非???,而 Unix 界的后起之秀 Linux 也急需一個(gè)可靠并且免費(fèi)的圖形界面。

1996 年 10 月,由開發(fā)圖形排版工具Lyx的德國人 Matthias Ettrich 發(fā)起了 KDE 計(jì)劃。 KDE 的全稱為 K Desktop Environment,可以看出是針對(duì) CDE。 KDE 本身 是采用 GPL 宣言的,但是 KDE 卻是使用 Qt 來作為其底層庫,因?yàn)楫?dāng)時(shí) Qt 已經(jīng)將其 Unix 版本自由發(fā)布了,但是 Qt 并不遵循 GPL, 因此 KDE 被很多自由軟件的作者攻擊,認(rèn)為利用非自 由軟件開發(fā)違背了 GPL 的精神,于是 GNU 的狂熱信徒兵分兩路,一路是去制作 Harmonny,試圖重寫一套兼容于 Qt 的替代品,另一路是由一個(gè) 26 歲的墨西哥程序員 Miguel De Icaza 領(lǐng)導(dǎo) 下重新開發(fā)一套叫 GNOME(GNU Network Object Enviroment)來替代 KDE。 feedom.net由于 Linux 界的老大 RedHat 不喜歡 KDE/Qt 的版權(quán),因此 RedHat 甚至專門派出了幾個(gè)全職程序員來加入 GNOME 進(jìn)行開發(fā)工作,于是一場同 Motif VS Openlook 相似的圣戰(zhàn)就這么打起來了。Trolltech 為了 KDE 曾數(shù)次修改 Qt 的版權(quán),從成立 KDE Free Qt 基金會(huì)到采用 QPL,可謂是費(fèi)盡心機(jī),但是 GNOME 采用的 GTK 一開始就是完全的 GPL,因此在這個(gè)方 面 GNOME 有一定的優(yōu)勢,加上Qt/KDE 采用 C++ 開發(fā),入門的門檻比較高,而 GTK/Gnome 采用 C, 因此 GNOME 吸引了更多的自由軟件開發(fā)者,但是KDE竟先走了一步, 推出的 KDE1.1.2 十分穩(wěn)定, 而當(dāng)時(shí)急忙中推出的 GNOME1.0 的系統(tǒng)穩(wěn)定性奇差,有人甚至笑稱 GNOME1.0 還沒有 KDE 1.0 Alpha 穩(wěn)定。但是 GNOME 后來發(fā)展比較快,大有迎頭趕上的勢頭。當(dāng)時(shí)雙方的開發(fā)者在網(wǎng)絡(luò) 上炒得天翻地覆,連Linux 之父 Linus 只是說了一句喜歡用 KDE 都倍受指責(zé)。

戰(zhàn)爭到了第三個(gè)年頭,也就是2000年,可謂是風(fēng)云突變,一個(gè)接一個(gè)重大的事件先后發(fā)生: 首先是一批從 Apple 公司出來的工程師成立了一個(gè)叫 Eazel 的公司替 GNOME 設(shè)計(jì)界面,然后是一批 GNOME 程序員成立了一個(gè) Helix Code 公司替 GNOME 提供商業(yè)支持,而大家期待以久的 KDE 2.0 也終于發(fā)布了,這恐怕是目前最為龐大的自由 軟件了之一,除了 KDE 本身,還包括 Koffice 套件,和集成開發(fā)環(huán)境 Kdevelop 等等大批軟件,其主力軟件 Kounqueror 也是第一個(gè)可以同微軟的 Internet Exploer 相抗衡的瀏覽器。 而 Sun 公司,Red Hat 公司, Eazel 公司,Helix Code 等一批公司成立了一個(gè)GNOME 基金會(huì), Sun 還宣布將把重量級(jí)辦公軟件 Star office 同 GNOME 集成, Trolltech 公司自然不能坐以 待斃,于今年 10 月 4 日將 Qt 的 free edition 變?yōu)?GPL 宣言,徹底解決了 KDE 的版權(quán)問題, 又推出了嵌入式 Qt ,給了 GNOME 陣營一個(gè)有力的回?fù)?。到現(xiàn)在為止,這場戰(zhàn)爭還在繼續(xù),相信我們不能很快看到結(jié)果。一般說來, 目前 GNOME 吸引的公司比較多,但是 KDE/Qt 的開發(fā)的效率和質(zhì)量比 GNOME 高,而且在 Office/嵌入式 環(huán)境中先走一步,在一定時(shí)間內(nèi)還將處于優(yōu)勢地位。

那么對(duì)于用戶來說,如何在 Qt/GTK 中作出選擇呢?一般來說,如果用戶使用 C++,對(duì)庫的穩(wěn)定性,健壯性要求比較高,并且希望跨平臺(tái)開發(fā)的話,那么使用 Qt 是較好的選擇。

【Qt的優(yōu)勢和劣勢】

先說說優(yōu)點(diǎn)吧,這點(diǎn)在Nokia的Qt網(wǎng)站上已經(jīng)寫得非常清楚了:

首先,Qt有比較完善的開發(fā)工具,相比較gtk,最為商業(yè)版本,它的開發(fā)工具界面更完整,功能更完善一些。Qt的UI designer感覺還是一個(gè)非常不錯(cuò)的工具。

2010年10月起,Qt將作為諾基亞獨(dú)一的應(yīng)用開辟框架,以確保應(yīng)用法度榜樣可以或許實(shí)用于Symbian的將來改革和即將推出的基于MeeGo平臺(tái)的產(chǎn)品。諾基亞將Qt Quick引入Qt框架中,加快開辟豐富的用戶界面和最具視覺享受的應(yīng)用。Qt對(duì)HTML5的內(nèi)置支持,實(shí)現(xiàn)了諾基亞在Web瀏覽器上支持HTML5的想法。

其次,Qt是一個(gè)有廣泛支持的平臺(tái),有不少的發(fā)行版已經(jīng)首選KDE (基于QT的窗口管理器),例如Kubuntu, OpenSuse,等。目前Qt已經(jīng)支持下述平臺(tái):Windows、Unix/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平臺(tái)、 Mac OS X、Windows CE、Symbian。

可能以前由于授權(quán)方面的問題,很多程序員選擇了GTK,但是現(xiàn)在NOKIA已經(jīng)發(fā)布了開源的版本,這個(gè)版權(quán)已經(jīng)不是問題了!還有一個(gè)區(qū)別就是 Qt做出來的圖形界面比GTK的好看,因?yàn)镼T可以生成操作系統(tǒng)原生的界面。如果你是一個(gè)C程序員,可以選擇GTK,特別是開發(fā)gnome桌面的程序,但是在嵌入式平臺(tái),我個(gè)人推薦選擇QT,因?yàn)镼T在嵌入式平臺(tái)的開發(fā)和應(yīng)用非常的成熟。

這個(gè)做法好處之一是,對(duì)于Symbian和MeeGo的程序,只需要做一次開發(fā),就可以應(yīng)用于不同平臺(tái)。同時(shí),也保證了Symbian平臺(tái)操作體驗(yàn)的良好延續(xù)性,即升級(jí)的無縫。

實(shí)際用Qt Creator看一下開發(fā)的界面,就會(huì)了解諾基亞所說的,一次開發(fā),多平臺(tái)應(yīng)用:

我自己的話說就是linux下的QT就是Windows下的VC6,只不過后者更為人性化而已,前者則大多需要再命令行下面完成指定的功能,不過QT里面豐富的類的確為我們的開發(fā)節(jié)省了許多時(shí)間。

此外,Qt Sdk里面附帶安裝了一個(gè)Qt Demo,里面有很多Qt的實(shí)際例子可以看,并且附帶了源代碼,qt是一個(gè)用C++編寫的一個(gè)gui庫。而且跨平臺(tái)性非常好??梢赃\(yùn)行在Windows、Linux、Symbian等多個(gè)平臺(tái)。

Qt Create是輕量級(jí)IDE工具,而且開源免費(fèi),在這點(diǎn)上久比VC++昂貴的價(jià)格要好很多。但是qt的商業(yè)版要另外收費(fèi),而且價(jià)格不菲vc++繼承了微軟的很多特性、簡單易用,而且有中文版本。Qt Create色調(diào)上給人感覺有種耳目一新的感覺。從編譯的速度上來考慮。Visual studio和Qt Create的編譯速度都很慢。

Qt平臺(tái)很大程度上是做應(yīng)用開發(fā)的,但是采用C++語言,使得Qt想底層開發(fā)也可以,應(yīng)用層也可以。

mfc使用的是消息循環(huán)機(jī)制。qt使用的是信號(hào)與槽的機(jī)制。我自己學(xué)習(xí)的時(shí)候,就同樣的當(dāng)成事件來看待了。從學(xué)習(xí)的難易度來看的話,qt要更容易上手。mfc里面定義了大量的宏大量的類,雖然說不用全部記下來,但是要去查詢也是需要點(diǎn)時(shí)間的。而且同樣創(chuàng)建的一個(gè)空白項(xiàng)目。qt更容易去寫代碼。

以MeeGo為例,開發(fā)及是N900,因此模擬界面上也是一臺(tái)N900。

Qt語言的掌握門檻相對(duì)來說是比較低的。

接下來,也要提到一些Qt的不足之處:

VC++編譯的只能運(yùn)行在windows系統(tǒng)下,而qt跨平臺(tái)行做的更好。所以這也肯定導(dǎo)致了qt的執(zhí)行速度要比VC++的慢。但是優(yōu)秀的程序員可以通過算法或者設(shè)計(jì)模式來優(yōu)化速度。

Qt將朝類Java方向發(fā)展,便界面將不需要代碼,不需要C++,做好鼠標(biāo)操作就行,做好每個(gè)組件的封裝,調(diào)用就行。然后就像做flash一樣一個(gè)應(yīng)用程序就這樣用鼠標(biāo)快速的出爐了。。。不需要手寫任何代碼…(原來應(yīng)用程序能這樣做) 而諾基亞這樣做的理由是現(xiàn)在的C++程序員越來越少,年輕一代的程序員,喜歡用Java一類的東東編寫程序。C++程序員一直都算是比.net和java少的。Windows占據(jù)了PC系統(tǒng)90%的領(lǐng)域。不過也側(cè)面反映了微軟的捆綁戰(zhàn)略。但是謝敏童鞋看得比較準(zhǔn),現(xiàn)在平板電腦正在發(fā)展!未來的情況也不說我們幾個(gè)學(xué)生說得準(zhǔn)的。windows會(huì)降低但是不會(huì)消失。平板電腦要替代PC電腦,也不是一下子的事情。所以Qt和VC++,同樣都是很有前景。

【具體回看N9/MeeGo】

再來看一下目前Symbian^3和MeeGo上的程序,諾基亞Symbian^3 現(xiàn)有的程序基本都覆蓋了常用的范圍,也不乏一些殺手級(jí)的應(yīng)用。

目前N9的Ovi商店上,除了常見的: 街旁 大眾點(diǎn)評(píng) QQ 新浪微博 招商銀行理財(cái) 等優(yōu)秀應(yīng)用之外,

還有下面這些程序在Symbian^3上是有的,非常容易就可以補(bǔ)全:

多媒體類:奇藝 優(yōu)酷

系統(tǒng)管理類:360 來電通 安全管家

輸入法:搜狗輸入法

游戲:水果忍者

瀏覽器:UCWeb

其他:手電筒

因此,可以理解為,N9目前已經(jīng)繼承了部分N8/C7等的應(yīng)用資源,有了一個(gè)不錯(cuò)的開頭。期望將來能夠有更多常用的好用的應(yīng)用出現(xiàn)。當(dāng)然,因?yàn)镼t開發(fā)對(duì)于個(gè)人開發(fā)者的簡便性,即使是個(gè)人想做一個(gè)自己的應(yīng)用也不是什么難事,如標(biāo)題那樣:讓Qt無處不在吧!

*[注]【KDE/Qt和GTK/GNOME的素來的斗爭】這部分是參考了老文《著名的自由軟件圣戰(zhàn)- “KDE/QT .VS. Gnome/Gtk”》

責(zé)任編輯:佚名 來源: 諾基亞博客
相關(guān)推薦

2014-04-23 13:08:04

Dockerlinux

2021-10-29 15:30:37

SASE/網(wǎng)絡(luò)安全

2011-06-01 13:47:30

普適計(jì)算諾基亞

2011-11-30 10:11:48

諾基亞N9

2011-08-29 09:42:55

MeeGoN9Qt

2011-06-24 10:08:39

諾基亞N9Android

2011-12-30 21:39:41

諾基亞

2011-12-12 13:21:34

2011-12-06 09:23:01

諾基亞N9開發(fā)者

2017-09-14 18:02:53

傷害學(xué)神挑戰(zhàn)

2017-12-29 10:54:01

Python編程語言系統(tǒng)管理工具

2022-09-16 10:44:17

物聯(lián)網(wǎng)通信網(wǎng)絡(luò)

2016-07-08 14:50:21

HTTPS加密

2019-04-30 14:05:20

思科ACI

2011-09-02 14:22:05

N9MeeGoMarko Ahtis

2011-08-22 10:31:26

MeeGoN9諾基亞

2019-04-01 10:43:11

企業(yè)通信云通信華為

2011-05-20 17:48:34

MeeGo 1.2MeeGo諾基亞

2012-11-27 09:29:40

MeeGoJollaSailfish

2011-07-27 13:23:40

數(shù)字天堂王安信息
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)