KDE Frameworks
KDE Frameworks是一套由KDE社群所編寫的函式庫及軟體框架,是KDE Plasma 5及KDE Applications 5的基礎,並使用GNU宽通用公共许可证進行散佈。 其中所包含的各種獨立框架提供了各種常用的功能,包括了硬體整合、檔案格式支援、控件、繪圖功能、拼寫檢查及更多。 KDE Frameworks相當於將KDE Platform 4重寫為一套單獨且分開、跨平臺的模組,可以很容易的提供給所有基於Qt的程式使用。從KDE Platform到KDE Frameworks的轉換歷時超過3年,由頂尖的技術貢獻者們指導[3]。 在KDE Frameworks 5.0釋出後,因為沒有嚴苛的底線壓力,開發者們將會專注在加入新的功能到KDE Frameworks 5的組件中[4]。像是Firefox與KDE的更佳整合[5]。 KDE Frameworks 5執行時函式庫與KDE Platform 4執行時函式庫一同安裝應該是可行的,這樣應用程式就可以選擇要用哪一種[6]。 採用KDE Frameworks中的原始碼有一部份在KDElibs 1中就有使用。除了KDE Software Compilation以外,也可能有其他許多的採用者,像是桌面环境,如Razor-qt、LXQt、MoonLightDE或是Hawaii,或是應用程式,像是Amarok、Avogadro等。 開發因為KDE Software Compilation被分割為KDE Frameworks 5、KDE Plasma 5及KDE Applications 5、每個子專案都可以選擇自己的開發步伐。KDE Frameworks 5將會以每個月為基礎釋出[7]且使用git[8][9]。 應用程式介面及應用二進制介面穩定性平台發布是開始一個系列(版本號X.0)的主要發布。這些版本可以打破二進制檔案和原始碼相容性,或者換句話說,所有以下版本(X.1, X.2, ...)將保證原始碼和二進制兼容性(应用程序接口及应用二进制接口)。例如,該軟體使用KDE 3.0開發將可以工作在所有(未來)發布的KDE 3,相對於應用程序開發使用KDE 2,不保證能夠利用KDE 3的函式庫。KDE的主要版本號按照Qt的發布週期,這意味著KDE SC 4是基於 Qt 4,而KDE 3是基於Qt 3。 軟體架構結構Frameworks有著清晰明確的依賴性結構,分為「類型」及「層次」。「類別」是指運行時依賴性:
「層次」是指編譯時對其他Frameworks的依賴性:
組件KDE Frameworks包含了超過60個軟體包。這些在KDE SC 4中包含在一個單一的大軟體包中,稱為kdelibs,其中一些已經不再是KDE的一部份,但已併入Qt 5.2中[10]。 KDE Frameworks根據其依賴其他函式庫的程度分類為四種不同的層次。層次1的Frameworks只依賴Qt或是其他系統函式庫。層次2的Frameworks可以依賴層次1的函式庫、或是其他系統函式庫等等[11]。
歷史KDE Frameworks第一個版本的版本號是5,代表其整個代碼庫是繼承KDE Platform的事實,但因為KDE Platform的版本號只有到4,而且其大多數代碼只是將先前的版本重新包裝,所以使用版本號5來代表。 在Frameworks 5中的主要變更為,增加了模組化的程度。在較早的KDE版本中,其函式庫被包裝為一個單一的大軟體包。在Frameworks中,這些函式庫會分裂成較小的數個獨立的軟體包。這有利於其他基於Qt的軟體利用這些函式庫,因為依賴性可以被保持在最低程度[3]。 而KDE 4是基於第四版的Qt部件工具箱開發,Frameworks 5則是使用第五版的Qt。Qt 5能增加QML的使用量,一個簡單的,基於JavaScript的敘述性程式語言,用以設計使用者介面。使用QML的圖形渲染引擎可以帶來橫跨不同裝置且更流暢的使用者介面[3]。 參考資料
|