KDE簡介
KDE是Linux上第一個真正的桌面,所有KDE計劃的代碼全部按LGPL/GPL發佈。開發KDE的原因是當時X下的桌面缺乏下列特徵:
◇沒有通用的Drag&Drop協議;
◇沒有基於對話框的桌面配置工具;
◇沒有一致的應用幫助系統;
◇沒有統一的應用開發平臺;
◇沒有複合文檔平臺;
◇在應用級沒有網絡透明性;
◇在X下寫程序非常乏味。
KDE就是要解決這些問題,它給用戶帶來了下面的好處:
◇漂亮的桌面,一致的界面(consistent look&feel);
◇完全的網絡透明性;
◇集成的幫助系統,方便一致的訪問;
◇國際化(25種語言);
◇集中的、對話框驅動的桌面配置;
◇大量的KDE應用;
KDE包含:
◇KDE桌面環境(包括WM);
◇KDE應用開發平臺;
◇KDE辦公套件。
目前的KDE發佈包含下列包:
◇KDE-Libs:各種運行時庫;
◇KDE-Base:基本的部件;
◇KDE-Graphics:圖形應用,包括KDVI, KGhostview, KPaint, KFax, etc.
◇KDE-Utilities:工具應用,包括KEdit, KCalc, KNotes, etc.
◇KDE-Multimedia:多媒體應用,包括KMidi, KModplayer, KMixer, KSCD, etc.
◇KDE-Games:遊戲,包括KAsteroids, KPat, KTetris, etc.
◇KDE-Admin:各種輔助系統管理的工具;
◇KDE-Network:網絡應用,包括Kppp, Km, Kmail etc.
KDE開發哲學中有一條特別重要:當你有什麼建議時,不要說“我們應該”,而要說“我打算”。如果你不打算乾的話,最好不要說。
KDE簡史:
KDE建立於October 1996。
August 15, 1997:召開了KDE-ONE會議,地點:Arnsberg, Germany:
贊助者包括:SuSE, Caldera, O'Reilly, DLD, Delix, Live Linux Verband等。
15名與會人員,他們來自USA, Australia, Germany, Norway, 等國。
討論KDE的設計和開發。
KDE計劃由Matthias Ettrich在1996年發起。
December 1997, KDE e.V.i.G成立負責法律和資金事宜。
April 8, 1998,KDE Free Qt Foundation成立。
Beta 1 Oct 20, 1997 - Beta 2 Nov 23, 1997 - Beta3 February 1, 1998 - Beta4 April 19, 1998
1.0發佈:July 12, 1998
1.1發佈:February 6th, 1999
1.1.1發佈:May 5th, 1999
它由LyX(一所見即所得的LaTeX文書處理器)的開發者MatthiasEttrich發起,目的在於爲Unix/X11建立一個完整易用的桌面環境。計劃內容包括定義一標準的Drag&Drop機制,統一的Application Framework,類似ActiveX的機制等。
KDE除了擁有Ettrich的得意傑作KLyX,也有KFM(類似於IE4.0 的瀏覽器)、KPresenter(類似PowerPoint)、KIllustrator(類似CorelDraw或Illustrator)、KOrganizer(PIM軟件)等重量級軟件,更體貼用戶推出大量GUI設定軟件幫助用戶設置Unix/Linux上的服務器(如Samba、Postgres及PowerManagement等)。,但KDE卻一直因爲Qt的License問題而受到不少用戶的抨擊。
KDE整個計劃都採用由TrollTech公司所開發的Qt程序庫。Qt本身爲一基於C++的跨平臺開發工具(有X及Windows版),非常優秀,可惜Qt並非一個真正自由的軟件。Qt的License允許任何人使用Qt編寫免費軟件及免費拷貝給其他用戶使用,但如果利用Qt編寫非免費軟件則需要購買他們的License。更重要的是任何人都不可以隨意修改Qt源代碼。漸漸有用戶開始懷疑這會否會對各種免費的Unix(包括Linux、FreeBSD、NetBSD及OpenBSD)的CD-ROM生產商造成困難,將窗口管理器這個很重要的部份建立在一個並非真正自由的軟件上是否會帶來惡果。例如TrollTech公司更改Qt License、公司倒閉或給人收購等都
會令KDE前功盡棄。而KDE過份模仿Win95的界面也有用戶很不滿意。於是另一撥自願者在今年上半年開始GNOME (Gnu Network Object Modeling Environment)計劃,以真正自由的GTK作底層去實現與KDE相似的目標。GNOME在開發初期就得到Linux兩大發行套件-Debian及RedHat在經濟上、技術上及人力上的支持,但因起步較慢,目前進展不大。另一方面,KDE的開發者們爲了平息用戶在Qt License方面的擔憂,在今年初與TrollTech成立The KDE Free Qt Foundation。TrollTech公司任何對Qt License的修改都必須爲Foundation通過,而如果Troll倒閉、被收購或停止開發Qt超過一年,Foundation將有權以BSD式License開放Qt源代碼。
KDE開發的特徵:
KDE是用C++寫成的,完全複合OO設計。由此帶來的KDE組件的可重用性和高效率是KDE成功的關鍵。
KDE提供給開發者的開發平臺類似於微軟的MFC/COM/ActiveX(對應於QT/KOM/OpenParts),允許RAD和對現有組件及技術的充分利用。
KDE應用都是生成一個KApplication對象實例,並從KTopLevelWidget繼承。這樣開發的KDE應用自動地複合KDE的標準。
KDE的幾個子系統
DCOP: Desktop Communication Protocol
KIO: 網絡透明的輸入/輸出
KIO::TransferJob *job = KIO::get("http://www.lisoleg.org");
connect(job, SIGNAL(result(KIO::JOB *)), this, SLOT(slotResult(KIO:Job *)));
connect(job, SIGNAL(result(KIO::JOB *, const QByteArray&)), this, SLOT(slotData(KIO::Job *, const QByteArray&)));
SYSCOCA:System Configuration Cache
速度,穩定
Kparts: 嵌入式組件(動態鏈結庫)
KHTML: HTML4.0兼容的庫
KHTMLPart* browser = new KHTMLPart(this);
browser->openURL("http://www.lisoleg.org");
XMLGUI: 動態的GUI體系結構(KAction)