KDE Frameworks é uma coleção de bibliotecas e frameworks de software prontamente disponíveis para quaisquer pilhas de software ou aplicativos baseados em Qt em vários sistemas operacionais. Apresentando soluções de funcionalidade frequentemente necessárias, como integração de hardware, suporte de formato de arquivo, elementos de controle gráfico adicionais, funções de plotagem, verificação ortográfica, a coleção serve como base tecnológica para KDE Plasma e Aplicativos do KDE distribuídos sob a Licença Pública Geral Menor GNU (LGPL).
Visão geral O KDE Frameworks é baseado no Qt, que permite um uso mais amplo de QML, uma linguagem de programação declarativa mais simples baseada em JavaScript, para o design de interfaces de usuário. O mecanismo de renderização de gráficos usado pelo QML permite interfaces de usuário mais fluidas em diferentes dispositivos.
thumb|300px|Uma parte do código-fonte foi movido do KDE Frameworks 5 para se tornar parte do Qt 5.2 e acima. Desde a divisão da KDE Software Compilation 4 em KDE Frameworks 5, KDE Plasma 5 e Aplicativos do KDE, cada subprojeto pode escolher seu próprio ritmo de desenvolvimento. O KDE Frameworks é lançado mensalmente e usa o git.
Deve ser possível instalar o KDE Frameworks 5 juntamente com o KDE Platform 4 para que os aplicativos possam usar qualquer um deles.
Estabilidade da API e da ABI Os lançamentos de plataformas são aqueles que iniciam uma série (número de versão X.0). Apenas essas versões principais têm permissão para quebrar a compatibilidade binária com o predecessor. Lançamentos nas séries menores (X.1, X.2, ...) garantirão a portabilidade binária (API & ABI). Isto significa, por exemplo, que o software desenvolvido para o KDE 3.0 funcionará em todas as (futuras) versões do KDE 3; entretanto, uma aplicação desenvolvida para o KDE 2 não tem garantia de poder fazer uso das bibliotecas do KDE 3. Os números das versões principais do KDE seguem principalmente o ciclo de lançamento da Qt, o que significa que o KDE SC 4 é baseado na Qt 4, enquanto que o KDE 3 foi baseado na Qt 3.
Sistemas operacionais suportados O repositório de cada framework deve conter um arquivo denominado metainfo.yaml. Este arquivo documenta o mantenedor do framework, o tipo, o sistema operacional suportado e outras informações. As plataformas atualmente suportadas são Linux, Microsoft Windows, macOS e Android.
Arquitetura de software
Estrutura Os Frameworks têm uma estrutura de dependência clara, dividida em "categorias" e "tiers". As "categorias" referem-se às dependências de tempo de execução: Os elementos funcionais não têm dependências de tempo de execução. Integração designa o código que pode exigir dependências de tempo de execução para integração, dependendo do que o sistema operacional ou a plataforma oferece. As soluções têm dependências de tempo de execução obrigatórias.
Os "Tiers" referem-se às dependências de tempo de compilação em outros Frameworks. Frameworks Tier 1 não têm dependências dentro de Frameworks e só precisam de Qt e outras bibliotecas relevantes. Frameworks Tier 2 podem depender apenas do Tier 1. Frameworks Tier 3 podem depender de outros Frameworks Tier 3, bem como do Tier 2 e do Tier 1.
Componentes O pacote KDE Frameworks consiste em mais de 70 pacotes. Eles existiam como um único pacote grande, chamado kdelibs, em KDE SC 4. O Kdelibs foi dividido em vários frameworks individuais, alguns dos quais não são mais parte do KDE, mas foram integrados ao Qt 5.2.
KDE Frameworks é agrupado em quatro tiers diferentes de acordo com a dependência de outras bibliotecas. Frameworks tier 1 dependem apenas do Qt ou de outras bibliotecas do sistema. Frameworks tier 2 podem depender de bibliotecas do tier 1, Qt e/ou outras bibliotecas do sistema e assim por diante.