正文

轉貼一篇《KDE4雜談》 (圖)

(2008-01-29 10:42:41) 下一個


KDE4雜談

從《易》說起
《易經》中的易字是什麽意思呢?

按漢代的《易緯·乾鑿度》所言“《易》一名而含三義:所謂簡易也,變易也,不易也。”

簡易
萬事萬物的發展,都是從簡易到複雜,再由複雜到簡單。KDE3經過五年的發展,功能越來越多,軟件也越來越多,同時它的包袱也越來越重,軟件也越來越臃腫,維護也隨之越來越困難。而KDE4適時出現,發掘主要矛盾,對KDE進行一次由下而上的重新洗牌,把複雜的問題簡單化,把淩亂的問題條理化,把分散的問題集中化。實在深得簡易之道啊!看來雖然東西方文化的有所差異,在實際問題上卻殊途同歸!
關於KDE4的發布時間
Allen Winter公布了KDE4的開發計劃表。

* 2007-04-01子係統凍結
*
o 從此日開始kdelibs不再接受大的子項目。
o 所有的類的位置都將固定在kdelibs目錄下。
o Trunk目錄中開始包含KDE4代碼。
o 基於KDE3的其它程序移至/branches/stable,並在始繼續開發。
o 係統構建依賴關係固定。

* 2007-05-01 alpha版發布,kdelibs軟件API凍結
*
o 將全麵應用Qt4.3。
o 除非核心開發者同意,所有類與界麵都不允許變動。
o 想要更改API的話,必須向kde-core-devel郵件列表提交申請,說明理由並附上代碼。如果一周內無人反對,變動才允許提交。

* 2007-06-01 特性凍結
*
o KDE主要模塊新特性凍結。
o 不再允許加入新特性,從此日開始關注程序的穩定性並解決bug。
o 所有主要模塊的維護者必須指出是否能按時刻表完成任務,或者退出不與KDE4.0同時發布。

* 2007-06-25 Beta版周期,所有kdelibs API凍結
*
o 從此日起,每月發布一個Beta版,直到大量嚴重的漏洞得到解決為止。
o kdelibs的API正式完全凍結。
o 程序中字符串不能再改變,翻譯工作全麵啟動。在Beta2版中加入翻譯文件。

* 2007-09-25 RC版周期
*
o 從此日起,每兩周發布一個RC版,直到所有嚴重的漏洞得到解決為止。
o 首個RC版發布後將迎來總體的發布凍結。除了後退(因KDE4移植而導致破損)或漏洞修補,不允許做任何事。
o 從首個RC版開始,KDE4.0中將包含語言包。

* 2007-10-23 KDE 4.0發布
*
o 發布日期視三個Beta版與兩個RC版的具體情況而定。

移植問題不大
Qt4與Qt3相比,有了較大的改進。但總體來說,變化並不太大,隻需對Qt4對 Qt3的改進之處多加了解,KDE3向KDE4的移植問題便很容易解決。我這可不是在胡說,在Qt4剛出現的時候,的確有很多老手都在抱怨變動太大,搞的頭昏腦脹程序才勉強跑的起來。但隨著開發者們Qt4開發的經驗的增多,這種提法漸漸消失了。很多開發者都在博客中表示,困難並沒有想象中的大。另外 CMake的使用反而提高了程序構建的效率。Matt Rogers如是說:“It was stupid easy”。

所以我們要對這個計劃表有信心才對。

變易
作為五年來最重要的發布版本,KDE4有著足夠的理由求變。KDE3發布已近五年,它體現的是對KDE2的繼承與否定。而KDE4所要繼承的更多,否定的也不少。我在此簡短地對幾個新事物作個描述,雖然它們還處於開發中,但現在所表現出來的功能也足以令人心潮澎湃了。

Solid橫空出世
KDE1中,KDE通過kfilemanager使用一種特殊的鏈接形式來訪問文件係統,對其它設備卻無能為力。KDE2也沒有什麽真正的改進,它隻增加了adhoc來處理軟盤和CD。在很多情況下,我們隻能手動建立設備鏈接。KDE3才在這個領域有所創新,不過它的改進也太慢了,從3.0改到3.5才解決了不依賴底層平台的情況下對熱插拔設備進行了支持。但這種支持仍然不夠徹底,KDE3.5中有時還會麵對一些莫名其妙的錯誤。特別是很難訪問某些冷僻的媒體設備,還有從桌麵上進行網絡設置非常困難。

桌麵程序與底層係統更出色的集成工作是KDE4的最重要的課題之一。Solid應運而生,它首創了對硬件與網絡設備與KDE及其它係統的無縫集成。KDE4上的各個應用程序都會通過它來操作硬件,有了它的存在,使用KDE4將跟使用Windows一樣方便。比如配置網絡隻要用鼠標指指點點就行了。是不是很值得期待呢?

優雅的Plasma
Plasma是個什麽東西呢?它就是你將要看到的KDE4新桌麵。但不同於現在的靜態桌麵,它是“浮動”的。大家都知道SuperKaramba吧,Plasma實現了SuperKaramba的功能,並且有了擴展。任何人都可以用動態語言來編寫桌麵器件,不會寫的則直接通過百寶箱下載安裝這些器件。器件、麵板等桌麵上所有東西都可以按你的要求隨著移動位置甚至改變大小。

它的設置也偏向簡單化,它屏蔽掉了複雜的一切;同時它也考慮到了桌麵的可用性,不會因為變得漂亮而難用。真正的好處無法用語言來描述,隻有當你真正用上了它的時候,你才會了解到什麽才是“二十一世紀的桌麵”。

方便的Phonon
Phonon是眼睛看不見的,它接管了KDE4中的多媒體這一類的複雜內容,使程序員們深受其益。詳細情況可見通向KDE4之路(六),Troy在這篇文章中很簡明地介紹了Phonon。可以很清楚的是,用以替代aRts的Phonon為程序員們帶來的是前所未有的方便與簡潔。

夢幻般的Decibel
Decibel是一項服務技術,而不是某個特定的軟件,目前的版本號還隻是0.3。它所帶來的好處並不是在KDE4.0中能夠發現的。它能給我們帶來什麽呢?答案是科幻小說裏的生活。以它目前的已實現的功能來看,它可以用來發電子郵件,語音通話,即時通迅,也就是說今後的KMail、Kopete都可能會基於它來實現對外通迅工作。其實它的可怕之處是讓任何軟件都具備對外通訊的能力。例如,當你要與一個相距千裏之外的人合寫一個文檔,你打開Kwrite或是Kword後隻要與對方聯線,對方就可以實時看到你所寫的內容,並可以通過語音或文字來與你交流,甚至還可以直接指出你文檔中需要更改的地方。這項技術也許會讓KDE4變成一個夢幻般的平台,讓我們共唱“我的未來不是夢吧”。

萬能的Okular
對於Okular的具體情況請見通向KDE4之路(七)。這個可以察看ps,tiff,chm,djvu,images,dvi,xps,ooo,fictionbook,comicbook的Kpdf開發進展非常快,從去年下半年開始幾乎每周都給我們帶來驚喜。這個軟件體現了開源的魅力,整合的優勢。涓涓細流總有枯竭的時候,大江大河卻總能得到支流。如果某開發者要是開發了針對某種文件格式的新特性,那麽這個新特性也容易在Okular中應用於其它文件格式。Okular這個KDE中的文件察看器繼承了開源軟件的的曆史與傳統,在這一刻不是一個人在為它戰鬥,不是一個人。

爭議中的Dolphin
Dolphin的出現並不晚,它在去年6月就在kde-apps上出現過了。當時,它並不引人注目。直到它被從playground中移到kdelibs中,大家都愕然發現,它將代替Konqueror成為KDE4中默認的文件管理器。一石激起千層浪,質疑聲、否定聲不絕於耳。

必須看到Konqueror的無所不能,它不但是個文件管理器,還是網絡瀏覽器,圖片察看器,音樂播放器等。得之於全,失之於精。Konqueror的全麵勢必影響到它的單個功能的發揮。文件管理器是一個桌麵環境中最重要的部分之一,也是最常用的軟件之一。Dolphin的出現正當其時,它的各項功能完全是圍繞著文件管理而設計而優化,它小巧快速,並與Konqueror分享了功能代碼。也許有很多的人還是希望使用Konqueror,但這不是攻擊 Dolphin的理由。

Dolphin不僅在為KDE4帶來一個新的文件管理器,同時它的出現也使Konqueror得到了相應的代碼。可以說在開源軟件中沒有什麽競爭對手,隻有相互學習相互影響的夥伴。Konqueror中也沒有剔除掉文件管理器的功能,隻要經過配置,它也能成為“默認”的文件管理器。所以對Dolphin的攻擊隻能是打擊了其開發者的積極性,而沒有任何積極的影響。人不能為了反對而反對,眼光得長遠,做人要厚道。

不易
無論是KDE3還是KDE4,它都是KDE。KDE的優勢是不變的,KDE的精致是不變的,KDE的理念也是不變的。
KDE的行為習慣
KDE原本就指的是K桌麵環境,從這個提法可以看出,KDE是一個偏重於用戶體驗平台。但是隨著Qt4超強跨平台功能的推出,KDE4便開始了另一種形式的變異,它漸漸地從公認的開源應用桌麵之王進化為最有潛力的跨平台開發環境。如果說這次轉變的基礎是Qt4的話,那麽KDE的行為習慣就是這次轉變的助推器。

我來解釋下什麽是KDE的行為習慣。KDE可以說是黑客們的舞台,是借以實現他們理想、體現他們懶惰的溫床。當某一組程序同時想要實現某一種功能的時候,黑客們就開始動腦筋了:反正都是要做的,不如幹脆單獨地做一個軟件出來,留幾個接口,這樣就一個做好大家能用。從人類行為學的角度來說,好奇心強、動手能力強的人一旦覺得想法成立,對自己的設想的實現總是顯得非常迫不及待。黑客們無疑就屬於這種人,靈感一來就一發而不可收拾,往往樂在其中。

KPart的KDE組件對象技術是這種行為習慣萌發的最重要的跡象。隨著KDE軟件從簡單演化為複雜,從一枝獨開演化到百花齊放,這種行為習慣就正式形成了。kdewallet的出現可以說是KDE行為習慣從更多地為用戶服務演變到更多地為開發者服務的一個過渡。這個KDE錢包本身很小,對程序本身而言,開發者們若想加上密碼保存功能其實也不花不了多少時間,但總的來說,還是簡化了開發者們的工作。

為了在KOffice中加入各種解釋性語言的支持,Sebastian Sauer編寫了Kross。這個軟件為KOffice中各個組件都提供了Python、Ruby等腳本語言的支持,有了它,KOffice中的其它組件就不用各自花時間為腳本支持提供獨立的代碼了。KOffice2的開發者們對Kross投入了大量工作,KOffice2中的腳本支持被譽為是KOffice2的殺手級特性之一。不僅如此,目前Kross已從KOffice中脫離出來,並被移入kdelibs作為KDE4中實現多腳本語言調用工作的基礎。可以預想到KDE4中任何程序都可以得到近乎無限的擴展,動態語言與靜態語言的結合將開拓出一個全新的領域。這次的KDE行為習慣不僅使用戶們受益,更是方便了開發者,並觸動了他們新的靈感。

上麵提到的KDE4的新多媒體技術Phonon,這項技術同樣表現出了KDE的行為習慣。Phonon對各項多媒體引擎如xine等進行了封裝,開發者們不需要對其它多媒體引擎有太多的了解,隻需應用好Phonon提供的接口,其它的事情Phonon都為你做好了,而且Phonon為你做的比你想象的還要多。另外Solid也類似於此,而它簡化的是應用程序的對底層硬件的操作功能。

KDE的行為習慣大大減化了開發者們的工作,同時也促進了技術的融合與發展,也給終端用戶提供了豐富多彩的功能。但可以發現,這種行為習慣的產生源於程序員們的懶惰,而也隻有懶惰的程序員們才能玩出這麽多的花樣吧。這也許也算是不變的規則吧。

變易中的不易
相比於KDE3對KDE2更多的是否定,KDE4中在人們麵前表現出的更多的是對KDE3的繼承。如KDE遊戲,它們更多的是與SVG技術的整合,帶來了更好的感官體驗。Amarok顛覆了舊有的顯示模式,但大家都可以一眼識別出那就是Amarok。Dolphin繼承了Konqueror的文件管理器功能,它也繼承了nautilus的一些特性。KDE4下的很多軟件本質上都沒有什麽變化。而變動最大的那幾個軟件也都可以在KDE3中找到它們的根源。相對於黑格爾所說的“運動中的靜止”,中國人就應稱之為“變易中的不易”了。

後記
閑坐小窗讀周易,不知春去已多時。並非著相以求,不過玩索而得。

本文完成後對比原稿偏差了不止十萬八千裏。感歎著變動之餘,實在覺得自己能力有限,手中掌握的資料也不太多。終究是完成了,這也算是有始有終吧。
[ 打印 ]
[ 編輯 ]
[ 刪除 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.