KDE Frameworks

KDE Frameworks是一套由KDE社群所編寫的函式庫及軟體框架，是KDE Plasma 5及KDE Applications 5的基礎，並使用GNU宽通用公共许可证進行散佈。

其中所包含的各種獨立框架提供了各種常用的功能，包括了硬體整合、檔案格式支援、控件、繪圖功能、拼寫檢查及更多。

KDE Frameworks相當於將KDE Platform 4重寫為一套單獨且分開、跨平臺的模組，可以很容易的提供給所有基於Qt的程式使用。從KDE Platform到KDE Frameworks的轉換歷時超過3年，由頂尖的技術貢獻者們指導。

在KDE Frameworks 5.0釋出後，因為沒有嚴苛的底線壓力，開發者們將會專注在加入新的功能到KDE Frameworks 5的組件中。像是Firefox與KDE的更佳整合。

KDE Frameworks 5執行時函式庫與KDE Platform 4執行時函式庫一同安裝應該是可行的，這樣應用程式就可以選擇要用哪一種。

採用 
KDE Frameworks中的原始碼有一部份在KDElibs 1中就有使用。除了KDE Software Compilation以外，也可能有其他許多的採用者，像是桌面环境，如Razor-qt、LXQt、或是，或是應用程式，像是Amarok、Avogadro等。

開發 
因為KDE Software Compilation被分割為KDE Frameworks 5、KDE Plasma 5及KDE Applications 5、每個子專案都可以選擇自己的開發步伐。KDE Frameworks 5將會以每個月為基礎釋出且使用git。

應用程式介面及應用二進制介面穩定性
平台發布是開始一個系列（版本號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的依賴性：
 層次1的Frameworks在Frameworks內沒有依賴性，只需要Qt及其他相關的函式庫。
 層次2的Frameworks只能依賴於層次1的Frameworks。
 層次3的Frameworks可以依賴其他層次3的Frameworks以及層次1及層次2的Frameworks。

組件 
KDE Frameworks包含了超過60個軟體包。這些在KDE SC 4中包含在一個單一的大軟體包中，稱為kdelibs，其中一些已經不再是KDE的一部份，但已併入Qt 5.2中。

KDE Frameworks根據其依賴其他函式庫的程度分類為四種不同的層次。層次1的Frameworks只依賴Qt或是其他系統函式庫。層次2的Frameworks可以依賴層次1的函式庫、或是其他系統函式庫等等。

歷史 
KDE Frameworks第一個版本的版本號是5，代表其整個代碼庫是繼承KDE Platform的事實，但因為KDE Platform的版本號只有到4，而且其大多數代碼只是將先前的版本重新包裝，所以使用版本號5來代表。 

在Frameworks 5中的主要變更為，增加了模組化的程度。在較早的KDE版本中，其函式庫被包裝為一個單一的大軟體包。在Frameworks中，這些函式庫會分裂成較小的數個獨立的軟體包。這有利於其他基於Qt的軟體利用這些函式庫，因為依賴性可以被保持在最低程度。

而KDE 4是基於第四版的Qt部件工具箱開發，Frameworks 5則是使用第五版的Qt。Qt 5能增加QML的使用量，一個簡單的，基於JavaScript的敘述性程式語言，用以設計使用者介面。使用QML的圖形渲染引擎可以帶來橫跨不同裝置且更流暢的使用者介面。

參考資料 

 
KDE Software Compilation
自由軟體計劃