KDE/QT vs GNOME/GTK
生活随笔
收集整理的這篇文章主要介紹了
KDE/QT vs GNOME/GTK
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| KDE/QT vs GNOME/GTK | |
| | |
| 來源: ChinaUnix博客 日期: 2009.07.21 11:24 (共有條評論)?我要評論 | |
| ? | |
雖然在商業(yè)方面存在競爭,GNOME與KDE兩大陣營的開發(fā)者關(guān)系并沒有變得更糟,相反他們都意識到支持對方的重要性—如果KDE和GNOME無法實現(xiàn)應(yīng)用程序的共享,那不僅是巨大的資源浪費,而且將導(dǎo)致Linux出現(xiàn)根本上的分裂。 ? ???KDE 與GNOME是目前Linux/UNIX系統(tǒng)最流行的圖形操作環(huán)境。從上個世紀九十年代中期至今,KDE和GNOME都經(jīng)歷了將近十年的漫漫歷程,兩者也都從最初的設(shè)計粗糙、功能簡陋發(fā)展到相對完善的階段,可用性逼近Windows系統(tǒng)。圖形環(huán)境的成熟也為Linux的推廣起到至關(guān)重要的作用,盡管 Linux以內(nèi)核健壯、節(jié)省資源和高質(zhì)量代碼著稱,但缺乏出色的圖形環(huán)境讓它一直難以在桌面領(lǐng)域有所作為,導(dǎo)致Linux桌面應(yīng)用一直處于低潮。如果大家還有印象,一定會記得1999-2001年間Linux發(fā)展如火如荼,當時國內(nèi)涌現(xiàn)出大量的Linux發(fā)行版廠商,但當用戶發(fā)現(xiàn)Linux距離實用化還有十萬八千里的時候,Linux熱潮迅速冷卻。業(yè)界也對此一度灰心失望,其中一部分廠商因無法盈利迅速銷聲匿跡,另一部分廠商則不約而同將重點放在服務(wù)器市場—與桌面市場形成鮮明對比的是,Linux以穩(wěn)定可靠和低成本的優(yōu)勢在服務(wù)器領(lǐng)域獲得了巨大的成功。 ? ???在一些Linux廠商放棄桌面化努力的同時,國際開源社群卻不斷發(fā)展壯大,自由的理念吸引越來越多一流的程序員參與。與商業(yè)模式不同,自由軟件程序員在開始時都只是利用業(yè)余時間開發(fā)自己感興趣的東西,并將其自由公開,這是一種不折不扣的貢獻行為。盡管開發(fā)進度緩慢,但認同自由軟件理念的開發(fā)者越來越多,一個個開源項目逐漸發(fā)展壯大。 ? ???在此期間一個被人忽視的重大事件就是商業(yè)巨頭也積極參與進來,IBM、RedHat、SuSE、Ximian、 Novell、SUN、HP等商業(yè)公司都直接介入各個開源項目,這些企業(yè)或者是將自身的成果免費提供給開源社群,或者直接派遣程序員參與項目的實際開發(fā)工作,例如SuSE(現(xiàn)已為Novell收購)在KDE項目上做了大量的工作,RedHat、Ximian(現(xiàn)已為Novell收購)則全程參與Gnome 項目,IBM為Linux提供了大量的基礎(chǔ)性代碼,是推進Linux進入服務(wù)器領(lǐng)域的主要貢獻者,SUN公司則將StarOffice贈送給開源社群,并資助成立著名的OpenOffice.org項目。這樣,大量的自由軟件程序員都可以從各個項目的基金會中領(lǐng)到薪水。在這一階段,開源項目擺脫了程序員業(yè)余開發(fā)的模式,而由高水平的專職程序員主導(dǎo),這也成為各個自由軟件項目的標準協(xié)作模式。與商業(yè)軟件公司不同,自由軟件項目的參與者都是首先為個人興趣而工作,他們的共同目標都是拿出品質(zhì)最好的軟件,在協(xié)作模式穩(wěn)定成形之后,各個軟件就進入到發(fā)展的快行道。進入2005年后,這些項目基本上都獲得了豐碩的成果,其中最突出的代表就是Firefox瀏覽器的成功,而作為兩大圖形環(huán)境,KDE和GNOME分別發(fā)展到3.5和2.12版本,兩者的可用性完全可以媲美Windows。更重要的是,開源社群的發(fā)展壯大為這些項目的未來發(fā)展奠定了堅實的基礎(chǔ):KDE項目將超越Windows作為自己的目標,力量更強大的 GNOME項目更是將開發(fā)目標定在超越Mac OS X的Aqua圖形環(huán)境;Firefox則計劃運用GPU的硬件資源來渲染圖像,達到大幅度提高速度的目的;OpenOffice.org在努力提升品質(zhì)的同時奠定了開放文檔格式標準。除了上述主要項目之外,我們也看到如Mplayer播放器、Xine播放器、Thunderbird郵件客戶端、SCIM輸入平臺等其他開源項目也在快速發(fā)展成熟之中,且?guī)缀趺恳惶於加行碌捻椖吭谡Q生。有意思的是,除了涉及到軟件開發(fā)外,還出現(xiàn)了為Linux設(shè)計視覺界面的開放協(xié)作項目,全球各地有著共同目標的藝術(shù)家通過互聯(lián)網(wǎng)組織到一起,共同為Linux系統(tǒng)設(shè)計一流的視覺界面、系統(tǒng)圖標,而所有的自由軟件程序員都有一個共同的目標,那就是開發(fā)出一流水準的軟件提供給大眾使用。這種基于挑戰(zhàn)自我、帶有濃烈精神色彩的軟件開發(fā)模式成為商業(yè)軟件之外的另外一極。現(xiàn)在,微軟面對的并不是那些只在業(yè)余時間鼓搗代碼的程序員,而是分布在全球各地、數(shù)量龐大、且擁有一流技術(shù)水平的開發(fā)者,這些開發(fā)者被有效地組織起來,形成一個個有序的協(xié)作團隊,大量實力雄厚的商業(yè)公司在背后提供支持。雖然今天的Linux系統(tǒng)還無法在桌面領(lǐng)域被廣為接納,但只需要兩、三年時間,高速進化的Linux平臺將可達到全面進軍桌面的水準,也正是看到其中的機會,Novell、RedHat等重量級Linux企業(yè)都不斷在技術(shù)和市場推廣方面加大投入,Linux 桌面化近在咫尺。 ? ???在介紹完必要的背景之后,我們將進入關(guān)于KDE與GNOME的技術(shù)專題。如果你是剛剛接觸Linux的新手,一定會對KDE和GNOME感到困惑不已—為何會有兩個功能重復(fù)、操作習(xí)慣迥異的圖形環(huán)境?這不僅麻煩也耗費開發(fā)者精力。通過本文,你將獲得清晰的答案。而更重要的是,我們將在本文中向大家介紹KDE與GNOME的實際水平、各自的優(yōu)點和未來發(fā)展趨勢。如果你對Linux桌面應(yīng)用有些興趣,那么未來的 KDE/GNOME一定會讓你感到震驚不已。 X Window打造桌面環(huán)境 ? ???在介紹KDE和Gnome之前,我們有必要先來介紹UNIX/Linux圖形環(huán)境的概念。對一個習(xí)慣Windows的用戶來說,要正確理解UNIX/Linux的圖形環(huán)境可能頗為困難,因為它與純圖形化Windows并沒有多少共同點。Linux實際上是以UNIX為模板的,它繼承了UNIX內(nèi)核設(shè)計精簡、高度健壯的特點,無論系統(tǒng)結(jié)構(gòu)還是操作方式也都與UNIX無異。簡單點說,你可以將Linux看成是UNIX類系統(tǒng)中的一個特殊版本。我們知道,微軟Windows在早期只是一個基于 DOS的應(yīng)用程序,用戶必須首先進入DOS后再啟動Windows進程,而從Windows 95開始,微軟將圖形界面作為默認,命令行界面只有在需要的情況下才開啟,后來的Windows 98/Me實際上也都隸屬于該體系。但在Windows 2000之后,DOS被徹底清除,Windows成為一個完全圖形化的操作系統(tǒng)。但UNIX/Linux與之不同,強大的命令行界面始終是它們的基礎(chǔ),在上個世紀八十年代中期,圖形界面風(fēng)潮席卷操作系統(tǒng)業(yè)界,麻省理工學(xué)院(MIT)也在1984年與當時的DEC公司合作,致力于在UNIX系統(tǒng)上開發(fā)一個分散式的視窗環(huán)境,這便是大名鼎鼎的“X Window System”項目。不過,X Window(請注意不是X Windows)并不是一個直接的圖形操作環(huán)境,而是作為圖形環(huán)境與UNIX系統(tǒng)內(nèi)核溝通的中間橋梁,任何廠商都可以在X Window基礎(chǔ)上開發(fā)出不同的GUI圖形環(huán)境。MIT和DEC的目的只在于為UNIX系統(tǒng)設(shè)計一套簡單的圖形框架,以使UNIX工作站的屏幕上可顯示更多的命令,對于GUI的精美程度和易用程度并不講究,畢竟那時候能夠熟練操作UNIX的都是些習(xí)慣命令行的高手,根本不在乎GUI存在與否。1986 年,MIT正式發(fā)行X Window,此后它便成為UNIX的標準視窗環(huán)境。緊接著,全力負責(zé)發(fā)展該項目的X協(xié)會成立,X Window進入了新階段。與此同步,許多UNIX廠商也在X Window原型上開發(fā)適合自己的UNIX GUI視窗環(huán)境,其中比較著名的有SUN與AT&T聯(lián)手開發(fā)的“Open Look”、IBM主導(dǎo)下的OSF(Open Software Foundation,開放軟件基金會)開發(fā)出的“Motif”。而一些愛好者則成立了非營利的XFree86組織,致力于在X86系統(tǒng)上開發(fā)X Window,這套免費且功能完整的X Window很快就進入了商用UNIX系統(tǒng)中,且被移植到多種硬件平臺上,后來的Linux也直接從該項目中獲益。當然,這些早期的X Window環(huán)境都設(shè)計得很簡單,許多GUI元素模仿于微軟的Windows,但X Window擁有一個小小的創(chuàng)新:當鼠標指針移動到某個窗口時,該窗口會被自動激活,用戶無需點擊便能夠直接輸入,簡化了用戶操作—這個特性在后來的 KDE和Gnome中也都得到完整的繼承。 ? ???由于必須以UNIX系統(tǒng)作為基礎(chǔ),X Window注定只能成為UNIX上的一個應(yīng)用,而不可能與操作系統(tǒng)內(nèi)核高度整合,這就使得基于X Window的圖形環(huán)境不可能有很高的運行效率,但它的優(yōu)點在于擁有很強的設(shè)計靈活性和可移植性。X Window從邏輯上分為三層:最底層的X Server(X服務(wù)器)主要處理輸入/輸出信息并維護相關(guān)資源,它接受來自鍵盤、鼠標的操作并將它交給X Client(X客戶端)作出反饋,而由X Client傳來的輸出信息也由它來負責(zé)輸出;最外層的X Client則提供一個完整的GUI界面,負責(zé)與用戶的直接交互(KDE、Gnome都是一個X Client),而銜接X Server與X Client的就是“X Protocol(X通訊協(xié)議)”、它的任務(wù)是充當這兩者的溝通管道。盡管UNIX廠商采用相同的X Window,但由于終端的X Client并不相同,這就導(dǎo)致不同UNIX產(chǎn)品搭配的GUI界面看起來非常不一樣。 圖1 X Window系統(tǒng)架構(gòu)示意圖 KDE項目的發(fā)起 ? ???MIT 的X Window推出之后就成為UNIX圖形界面的標準,但在商業(yè)應(yīng)用上分為兩大流派:一派是以Sun公司領(lǐng)導(dǎo)的Open Look陣營,一派是IBM/HP領(lǐng)導(dǎo)的OSF(Open Software Foundation)的Motif,雙方經(jīng)過多年競爭之后,Motif最終獲得領(lǐng)先地位。不過,Motif只是一個帶有窗口管理器(Window- Manager)的圖形界面庫(Widget-Library),而非一個真正意義上的GUI界面。經(jīng)過協(xié)商之后IBM/HP與SUN決定將Motif與 Open Look整合,并在此基礎(chǔ)上開發(fā)出一個名為“CDE(Common Desktop Environment) ”的GUI作為UNIX的標準圖形界面。遺憾的是,Motif/CDE和UNIX系統(tǒng)的價格都非常昂貴,而當時微軟的Windows發(fā)展速度驚人并率先在桌面市場占據(jù)壟斷地位,CDE則一直停留在UNIX領(lǐng)域提供給root系統(tǒng)管理員使用,直到今天情況依然如此。 圖2 KDE 1.0盡管設(shè)計粗糙,但它奠定了整個KDE項目的基礎(chǔ)。? ? ???在 上個世紀九十年代中期,以開源模式推進的Linux在開發(fā)者中已經(jīng)擁有廣泛的影響力。盡管X Window已經(jīng)非常成熟,也有不少基于X Window的圖形界面程序,但它們不是未具備完整的圖形操作功能就是價格高昂(如CDE),根本無法用于Linux系統(tǒng)中。如果Linux要獲得真正意義上的突破,一套完全免費、功能完善的GUI就非常必要。1996年10月,圖形排版工具Lyx的開發(fā)者、一位名為Matthias Ettrich的德國人發(fā)起了KDE(Kool Desktop Environment)項目,與之前各種基于X Window的圖形程序不同的是,KDE并非針對系統(tǒng)管理員,它的用戶群被鎖定為普通的終端用戶,Matthias Ettrich希望KDE能夠包含用戶日常應(yīng)用所需要的所有應(yīng)用程序組件,例如Web瀏覽器、電子郵件客戶端、辦公套件、圖形圖像處理軟件等等,將 UNIX/Linux徹底帶到桌面。當然,KDE符合GPL規(guī)范,以免費和開放源代碼的方式運行。 ? ???KDE項目發(fā)起后,迅速吸引了一大批高水平的自由軟件開發(fā)者,這些開發(fā)者都希望KDE能夠?qū)inux系統(tǒng)的強大能力與舒適直觀的圖形界面聯(lián)結(jié)起來,創(chuàng)建最優(yōu)秀的桌面操作系統(tǒng)。經(jīng)過艱苦卓絕的共同努力,KDE 1.0終于在1998年的7月12日正式推出。以當時的水平來說,KDE 1.0在技術(shù)上可圈可點,它較好的實現(xiàn)了預(yù)期的目標,各項功能初步具備,開發(fā)人員已經(jīng)可以很好地使用它了。當然,對用戶來說,KDE 1.0遠遠比不上同時期的Windows 98來得平易近人,KDE 1.0中大量的Bug更是讓人頭疼。但對開發(fā)人員來說,KDE 1.0的推出鼓舞人心,它證明了KDE項目開源協(xié)作的開發(fā)方式完全可行,開發(fā)者對未來充滿信心。有必要提到的是,在KDE 1.0版的開發(fā)過程中,SuSE、Caldera等Linux商業(yè)公司對該項目提供資金上的支持,在1999年,IBM、Corel、RedHat、富士通-西門子等公司也紛紛對KDE項目提供資金和技術(shù)支持,自此KDE項目走上了快速發(fā)展階段并長期保持著領(lǐng)先地位。但在2004年之后,GNOME不僅開始在技術(shù)上超越前者,也獲得更多商業(yè)公司的廣泛支持,KDE喪失主導(dǎo)地位,其原因就在于KDE選擇在Qt平臺的基礎(chǔ)上開發(fā),而Qt在版權(quán)方面的限制讓許多商業(yè)公司望而卻步。 ? ???Qt是一個跨平臺的C++圖形用戶界面庫,它是挪威TrollTech公司的產(chǎn)品(2008年底被NOKIA收購)?;旧?#xff0c;Qt同X Window上的 Motif、Open Look、GTK等圖形界面庫和Windows平臺上的 MFC、OWL、VCL、ATL是同類型的東西,但Qt具有優(yōu)良的跨平臺特性(支持Windows、Linux、各種UNIX、OS390和QNX等)、面向?qū)ο髾C制以及豐富的API,同時也可支持2D/3D渲染和OpenGL API。在當時的同類圖形用戶界面庫產(chǎn)品中,Qt的功能最為強大,Matthias Ettrich在發(fā)起KDE項目時很自然選擇了Qt作為開發(fā)基礎(chǔ),也正是得益于Qt的完善性,KDE的開發(fā)進展頗為順利,例如Netscape5.0在從 Motif移植到Qt平臺上僅僅花費了5天時間。這樣,當KDE 1.0正式發(fā)布時,外界看到的便是一個各項功能基本具備的GUI操作環(huán)境,且在后來的發(fā)展中,Qt/KDE一直都保持領(lǐng)先優(yōu)勢。有必要提到的是,TrollTech公司實質(zhì)性參與了KDE項目,如前面提到Netscape 5.0 的移植工作就是由TrollTech的程序員完成,而KDE工程的發(fā)起者、Matthias Ettrich本人也在1998年離開學(xué)術(shù)界加入TrollTech,并一直擔任該公司的軟件開發(fā)部主管,因此TrollTech公司對于KDE項目擁有非常強的影響力(當然不能說絕對掌握,畢竟KDE開發(fā)工作仍然是由自由程序員協(xié)作完成的)。我們前面提到,KDE采用GPL規(guī)范進行發(fā)行,但底層的基礎(chǔ) Qt卻是一個不遵循GPL的商業(yè)軟件,這就給KDE上了一道無形的枷鎖并帶來可能的法律風(fēng)險。一大批自由程序員對KDE項目的決定深為不滿,它們認為利用非自由軟件開發(fā)違背了GPL的精神,于是這些GNU的狂熱信徒兵分兩路:其中一部分人去制作Harmonny,試圖重寫出一套兼容Qt的替代品,這個項目雖然技術(shù)上相對簡單,但卻沒有獲得KDE項目的支持;另一路人馬則決定重新開發(fā)一套名為“GNOME(GNU Network Object Environment)”的圖形環(huán)境來替代KDE,一場因為思想分歧引發(fā)的GUI之戰(zhàn)開始了。 圖3 Qt是整個KDE的基礎(chǔ),它采用雙重授權(quán)。GNOME與KDE交替發(fā)展 ? ???GNOME 項目于1997年8月發(fā)起,創(chuàng)始人是當時年僅26歲的墨西哥程序員Miguel De Icaza。關(guān)于GNOME的名稱有一個非常有趣的典故:Miguel到微軟公司應(yīng)聘時對它的ActiveX/COM model頗有興趣,GNOME(Network Object Model )的名稱便從此而來。GNOME選擇完全遵循GPL的GTK圖形界面庫為基礎(chǔ),因此我們也一般將GNOME和KDE兩大陣營稱為GNOME/GTK和 KDE/Qt。與Qt基于C++語言不同,GTK采用較傳統(tǒng)的C語言,雖然C語言不支持面向?qū)ο笤O(shè)計,看起來比較落后,但當時熟悉C語言的開發(fā)者遠遠多于熟悉C++的開發(fā)者。加之GNOME/GTK完全遵循GPL版權(quán)公約,吸引了更多的自由程序員參與,但由于KDE先行一步,且基礎(chǔ)占優(yōu)勢,一直都保持領(lǐng)先地位。1999年3月,GNOME 1.0在匆忙中推出,穩(wěn)定性奇差無比,以至于許多人笑稱GNOME 1.0還沒有KDE 1.0 Alpha穩(wěn)定,而同期的KDE 1.1.2無論在穩(wěn)定性還是功能上都遠勝于GNOME,直到10月份推出的GNOME 1.0.55版才較好解決了穩(wěn)定性問題,給GNOME重新贏回聲譽。由于思想分歧,當時GNOME的開發(fā)者與KDE的開發(fā)者在網(wǎng)絡(luò)上吵得天翻地覆,幾乎達到相互仇視的地步。但不管怎么說,GNOME都跌跌撞撞邁出了第一步,盡管那時KDE幾乎是所有Linux發(fā)行版默認的桌面環(huán)境。 圖5 KDE2.0擁有豐富的應(yīng)用軟件,實力明顯超過GNOME。? ? ???GNOME 的轉(zhuǎn)機來自于商業(yè)公司的支持。當時Linux業(yè)界的老大RedHat很不喜歡KDE/Qt的版權(quán),在GNOME項目發(fā)起后RedHat立刻對其提供支持。為了促進GNOME的成熟,RedHat甚至專門派出幾位全職程序員參與GNOME的開發(fā)工作,并在1998年1月與GNOME項目成員攜手成立了 RedHat高級開發(fā)實驗室。1999年4月,Miguel與另一名GNOME項目的核心成員共同成立Helix Code公司為GNOME提供商業(yè)支持,這家公司后來更名為Ximian,它事實上就成為GNOME項目的母公司,GNOME平臺上的Evolution 郵件套件便出自該公司之手。進入2000年之后,一系列重大事件接連發(fā)生,首先,一批從蘋果公司出來的工程師成立Eazel公司,為GNOME設(shè)計用戶界面和Nautilus(鸚鵡螺)文件管理器。同年8月,GNOME基金會在Sun 、RedHat、Eazel、Helix Code(Ximian)的共同努力下正式成立,該基金會負責(zé)GNOME項目的開發(fā)管理以及提供資金,Miguel本人則擔任基金會的總裁。此時,GNOME獲得許多重量級商業(yè)公司的支持,如惠普公司采用GNOME作為HP-UX系統(tǒng)的用戶環(huán)境,SUN則宣布將StarOffice套件與 GNOME環(huán)境相整合,而GNOME也將選擇OpenOffice.org作為辦公套件,IBM公司則為GNOME共享了SashXB極速開發(fā)環(huán)境。同時,GNOME基金會也決定采用Mozilla作為網(wǎng)頁瀏覽器。KDE陣營也毫不示弱,在當年10月份推出萬眾矚目的KDE 2.0。KDE 2.0堪稱當時最龐大的自由軟件,除了KDE平臺自身外,還包括Koffice辦公套件、Kdevelop集成開發(fā)環(huán)境以及Konqueror網(wǎng)頁瀏覽器。盡管這些軟件都還比較粗糙,但KDE 2.0已經(jīng)很好實現(xiàn)了Matthias Ettrich成立KDE項目的目標。也是在這個月,TrollTech公司決定采用GPL公約來發(fā)行Qt的免費版本,希望能夠以此贏得開發(fā)者的支持。這樣,Qt實際上就擁有雙重授權(quán):如果對應(yīng)的Linux發(fā)行版采用免費非商業(yè)性的方式進行發(fā)放,那么使用KDE無須向TrollTech交納授權(quán)費用;但如果Linux發(fā)行版為盈利性的商業(yè)軟件,那么使用KDE時必須獲得授權(quán)。由于TrollTech是商業(yè)公司且一直主導(dǎo)著KDE的方向,雙許可方式不失為解決開源與盈利矛盾的好辦法。TrollTech宣稱,雙許可制度徹底解決了KDE在GPL公約方面的問題,但RedHat并不喜歡,RedHat不斷對 GNOME項目提供支持,希望它能夠盡快走向成熟,除RedHat之外的其他Linux廠商暫時都站在KDE這一邊,但他們同時也在發(fā)行版中捆綁了 GNOME桌面。 ? ???在2001-2002年,火熱一時的Linux運動開始陷入低潮期,幾乎所有的廠商都發(fā)現(xiàn)桌面Linux版本不可能盈利,而易用性的不足也讓業(yè)界不看好Linux進入桌面的前途。但在服務(wù)器市場,Linux發(fā)展勢頭非常迅猛,直接對UNIX和Windows Server造成威脅。不過,秉承自由軟件理念的開發(fā)者們并不理會外界的論調(diào),他們一直將Linux桌面化作為目標,GNOME項目和KDE項目都在這期間獲得完善發(fā)展。2001年4月,GNOME 1.4發(fā)布,它修正了之前版本的Bug,功能也較為完善,但在各方面與KDE依然存在差距;同年8月,KDE發(fā)展到2.2版本。2002年4月,KDE跳躍到3.0版本,它以Qt 3.0為基礎(chǔ),各項功能都頗為完備,具備卓越的使用價值;兩個月后,GNOME陣營也推出2.0版本,它基于更完善的GTK 2.0圖形庫。進入到2003年后,KDE與GNOME進入真正意義上的技術(shù)較量。1月份,KDE 3.1推出,而GNOME 2.4則在隨后的2月份推出,兩大平臺都努力進行自我完善。也是在這一年,Linux商業(yè)界出現(xiàn)一系列重大的并購案:1月份,Novell公司宣布收購德國的SuSE Linux,而SuSE Linux是地位僅次于RedHat的全球第二大Linux商業(yè)企業(yè);8月,Novell接著將GNOME的母公司Ximian收歸旗下。這兩起并購案讓 Novell成為實力與RedHat不相上下的強大Linux企業(yè),而Novell和RedHat就成為能夠影響Linux未來的兩家企業(yè)。在圖形環(huán)境上,SuSE一向選擇KDE,并在KDE身上投入相當多的精力,在被Novell并購后,SuSE的桌面發(fā)行版盡管還側(cè)重于KDE,但同樣不喜歡Qt授權(quán)的Novell已經(jīng)開始向GNOME遷移。 圖4 GTK庫是GNOME項目的基礎(chǔ),它完全采用GPL授權(quán)因此獲得廣泛支持。GNOME獲得商業(yè)公司的支持 ? ???進入2004年后,KDE與GNOME依然保持快速發(fā)展,KDE陣營分別在2月份和8月份推出3.2、3.3版本,GNOME則在3月和9月推出2.6和 2.8,兩者的版本升級步幅旗鼓相當。到3.3版本的KDE已經(jīng)非常成熟,它擁有包括KOffice、Konqueror瀏覽器、Kmail套件、KDE 即時消息在內(nèi)的一大堆應(yīng)用軟件,且多數(shù)都達到可用標準,功能上完全不亞于Windows 2000。而GNOME更是在此期間高速發(fā)展,GNOME 2.8版本的水準完全不遜于KDE 3.3,而且此時兩者的技術(shù)特點非常鮮明:GNOME講究簡單、高效,運行速度比KDE更快;KDE則擁有華麗的界面和豐富的功能,使用習(xí)慣也與微軟 Windows較類似。商業(yè)支持方面,RedHat還是GNOME的鐵桿支持者,IBM、SUN、Novell、HP等重量級企業(yè)也都選擇GNOME,而 KDE的主要支持者暫時為SuSE、Mandrake以及中科紅旗、共創(chuàng)開源在內(nèi)的國內(nèi)發(fā)行商。2005年,厚積薄發(fā)的GNOME開始全面反超,3月份的 2.10、9月份的2.12讓GNOME獲得近乎脫胎換骨的變化,加之OpenOffice.org 2.0、Firefox 1.5等重磅軟件的出臺讓GNOME如虎添翼;KDE方面則分別在3月和11月推出3.4和3.5,其中KDE 3.5也逼近完美境地,我們認為它的水平與GNOME 2.12不相伯仲。但KDE在商業(yè)支持方面每況愈下,Novell在11月宣布旗下所有的商業(yè)性發(fā)行版將使用GNOME作為默認桌面(仍會對KDE Libraries提供支持),SuSE Linux桌面版則會對KDE與GNOME提供同等支持,而社區(qū)支持的OpenSuSE仍將使用KDE體系—但誰都明白GNOME將成為Novell的重心,KDE只是活躍在免費的自由發(fā)行版中。 圖7 KDE3.5可實現(xiàn)半透明和陰影效果,界面華麗、軟件豐富。? ? ???到這里,我們發(fā)現(xiàn)一個頗富戲劇性的結(jié)局:致力于商業(yè)化的KDE反而失去了重量級商業(yè)企業(yè)的支持,盡管一些中小規(guī)模的Linux企業(yè)因技術(shù)能力問題將繼續(xù)支持 KDE,但它的商業(yè)前途有限。而遵循GPL、完全不以商業(yè)化為目的的GNOME反而在該領(lǐng)域大獲成功。許多Linux發(fā)燒友都不明白為什么優(yōu)秀的KDE會受到如此待遇,其實道理非常簡單—沒有哪一家重量級企業(yè)喜歡受制于人,也許KDE的Qt不需要很多授權(quán)費,但誰知道TrollTech公司以后會不會漫天要價?既然有免費的GNOME可以選擇,那為什么不呢?基于此種理由,RedHat、Novell兩家最大的Linux企業(yè)和SUN都采用GNOME,而它們對GNOME的鼎力支持也讓該項目可擁有足夠多的技術(shù)保證,為今后的高速發(fā)展奠定堅實的基礎(chǔ)。需要糾正一個可能的誤解,雖然Novell收購了 Ximian,但RedHat并沒有受到太大影響,雙方對GNOME的貢獻都是相互共享的,因為GNOME以GPL自由版權(quán)公約發(fā)行,合作即共贏。至于 KDE項目,雖然它失去這些商業(yè)巨頭的支持,但沒有能力轉(zhuǎn)換桌面的中小Linux廠商將繼續(xù)追隨KDE,而且在非商業(yè)的社區(qū)Linux發(fā)行版中,KDE依然有強大的生命力。 圖6 GNOME 1.4解決了穩(wěn)定性問題,功能初步完善。? ? ???雖然在商業(yè)方面存在競爭,GNOME與KDE兩大陣營的開發(fā)者關(guān)系并沒有變得更糟,相反他們都意識到支持對方的重要性。如果KDE和GNOME無法實現(xiàn)應(yīng)用程序的共享,那不僅是巨大的資源浪費,而且將導(dǎo)致Linux出現(xiàn)根本上的分裂。事實上,無論是GNOME的開發(fā)者還是KDE的開發(fā)者,他們都有著共同的目標,就是為Linux開發(fā)最好的圖形環(huán)境,只是因為理念之差而分屬不同的陣營。KDE與GNOME的商業(yè)競爭對開發(fā)者們其實沒有任何利益影響(只有 TrollTech會受影響),基于共同的目的,KDE與GNOME陣營大約從2003年開始逐漸相互支持對方的程序—只要你在KDE環(huán)境中安裝GTK 庫,便可以運行GNOME的程序,反之亦然。經(jīng)過兩年多的努力,KDE和GNOME都已經(jīng)實現(xiàn)高度的互操作性,兩大平臺的程序都是完全共享的,例如你可以在GNOME中運行Konqueror瀏覽器、Koffice套件,也可以在KDE中運行Evolution和OpenOffice.org,只不過執(zhí)行本地程序的速度和視覺效果會好一些。在未來一兩年內(nèi),KDE和GNOME將進行更高等級的融合,但兩者大概永遠都不會合為一體—GNOME還是 GNOME,KDE也還是KDE?;蛟S你覺得這是浪費開發(fā)資源而且很可能讓用戶無從選擇,但我們告訴你這就是Linux,它與Windows和Mac OS X有著絕然不同的文化。更何況全球有越來越多自由軟件開發(fā)者(所以不必擔心浪費開發(fā)資源),Linux用戶的使用偏好也不可能總是相同,保持兩個并行發(fā)展的圖形環(huán)境項目沒有什么不妥。至于GNOME項目和KDE項目的開發(fā)者們,曾經(jīng)因為理念不同而吵得天翻地覆,但他們現(xiàn)在盡釋前嫌,因為所有人都意識到,他們其實彼此需要,團結(jié)在一起可以讓他們在硬件廠商面前有更大的發(fā)言權(quán),從而促使廠商在推出Windows驅(qū)動的同時也提供相應(yīng)的Linux版本,而且彼此可以相互借鑒優(yōu)秀的設(shè)計,確保Linux擁有一個最出色的圖形桌面環(huán)境。 圖8 GNOME 2.12保持慣有的簡潔和高效KDE與GNOME走向融合 ? ???2006 年,GNOME與KDE都站在一個全新的起點,獲得商業(yè)公司和更多自由程序員支持的GNOME躊躇滿志,將超越的目光放在Mac OS X系統(tǒng)。也許你認為Windows Vista的半透明和三維界面將Linux遠遠拋在后面,那么我們告訴你這是絕對的誤解,GNOME目前已經(jīng)可以實現(xiàn)類似的效果,Novell在前幾個月就向外界作過詳細的演示。當前的KDE也可支持相當不錯的半透明和陰影特效,技術(shù)上毫不落后于GNOME?,F(xiàn)在,GNOME項目朝向革命性的3.0版本邁進,KDE則致力于開發(fā)同樣有重大技術(shù)變革的4.0,這兩個成果大概在2007年可進入現(xiàn)實,屆時Linux系統(tǒng)將具備更卓越的可用性。也就是說,Linux桌面應(yīng)用的全面鋪開指日可待,而除了開發(fā)者和廠商的努力外,如何向企業(yè)和個人用戶推廣以及提供培訓(xùn)將是廠商要考慮的主要問題,我們今天恰好站在這樣的一道門檻上。? |
總結(jié)
以上是生活随笔為你收集整理的KDE/QT vs GNOME/GTK的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习 | 早期停止法原理及Pytho
- 下一篇: 机器学习笔记七之机器学习诊断