Este artigo resulta, no todo ou em parte, de uma tradução do artigo «KDE Frameworks» na Wikipédia em inglês, na versão original. |
Autor | KDE |
Desenvolvedor | KDE |
Modelo do desenvolvimento | Software livre |
Lançamento | 1 de julho de 2014 (10 anos) |
Versão estável | 5.102.0 (14 de janeiro de 2023[±][1] [+/-] | )
Versão em teste | [+/-] |
Escrito em | C++ (Qt) |
Sistema operacional | Multiplataforma (incluindo suporte "parcial" para Android,[2][3] Windows,[4] macOS e Haiku) |
Gênero(s) | |
Licença | GNU Lesser General Public License (LGPL)[5] |
Estado do desenvolvimento | Ativo |
Página oficial | api |
Repositório | invent |
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.[6] 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 5 e Aplicativos do KDE distribuídos sob a Licença Pública Geral Menor GNU (LGPL).[7]
O KDE Frameworks atual é baseado no Qt 5, 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.[8]
Desde a divisão da KDE Software Compilation 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[9] e usa o git.[10][11]
Deve ser possível instalar o KDE Frameworks 5 juntamente com o KDE Platform 4 para que os aplicativos possam usar qualquer um deles.[12]
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.
O repositório de cada framework deve conter um arquivo denominado metainfo.yaml.[13] 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.
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 "Tiers" referem-se às dependências de tempo de compilação em outros Frameworks.
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.[14]
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.[15]
Lista completa de frameworks | |||
---|---|---|---|
Nome | Tier | git | Descrição |
Frameworkintegration | 4 | frameworkintegration.git | Framework Integration é um conjunto de plug-ins responsáveis por uma melhor integração de aplicativos Qt quando executados em um espaço de trabalho KDE Plasma. Os aplicativos não precisam ser ligados a ele diretamente. A biblioteca KF5Style fornece integração com as configurações do espaço de trabalho KDE Plasma para estilos Qt. Derive seu estilo Qt do KStyle para herdar automaticamente várias configurações do espaço de trabalho KDE Plasma, proporcionando uma experiência de usuário consistente. Por exemplo, isso garantirá uma configuração consistente de ativação de clique único ou duplo e o uso de ícones temáticos padrão. |
KActivities | 3 | kactivities.git | Componentes principais para o gerenciador de atividades do KDE. |
KApiDox | 4 | kapidox.git | Scripts e dados para construir a documentação da API em um formato e estilo padrão. Este framework contém scripts e dados para construir a documentação da API (dox) em um formato e estilo padrão. A ferramenta Doxygen é usada para fazer a extração e formatação da documentação real, mas este framework fornece um script wrapper para tornar a geração da documentação mais conveniente (incluindo configurações de leitura do framework de destino ou outro módulo) e um modelo padrão para a documentação gerada. |
KArchive | 1 | karchive.git | Classes para facilitar a leitura, criação e manipulação de formatos de "arquivo", incluindo zip e tar. |
KAuth | 2 | kauth.git | Fornece uma maneira conveniente e integrada ao sistema para descarregar ações que precisam ser executadas como um usuário privilegiado para pequenos utilitários auxiliares. |
KBookmarks | 3 | kbookmarks.git | KBookmarks permite acessar e manipular favoritos armazenados usando o "formato XBEL". O uso mais comum para favoritos são navegadores da web, mas isso também pode ser útil em qualquer aplicativo onde arquivos locais ou URLs podem ser salvos como favoritos. |
KCMUtils | 3 | kcmutils.git | Utilitários, i.a. KSettings, para os módulos de Configurações do Sistema do KDE. KCMUtils fornece várias classes para trabalhar com KCModules. KCModules podem ser criados com o framework KConfigWidgets. |
KCodecs | 1 | kcodecs.git | KCodecs é uma biblioteca de codificação de strings, que fornece uma coleção de métodos para manipular strings usando várias codificações. Ele pode determinar automaticamente o conjunto de caracteres de uma string, traduzir entidades XML, validar endereços de e-mail e encontrar codificações por nome de uma forma mais tolerante do que QTextCodec (útil, por exemplo, para dados vindos da Internet). |
KCompletion | 2 | kcompletion.git | Framework de completação de string, incluindo lineedit e combobox habilitados para completação. Ao digitar nomes de arquivo, endereços de e-mail e outro texto onde o usuário geralmente deseja selecionar a partir de dados existentes (incluindo o que ele digitou anteriormente) em vez de inserir algo totalmente original, os usuários costumam achar útil se eles só precisam digitar os primeiros caracteres, e em seguida, fazer com que o aplicativo ofereça a eles um conjunto de opções ou tentarem terminar o que eles estavam digitando. Clientes de e-mail, shells e diálogos de "abrir arquivo" geralmente fornecem essa funcionalidade. Este framework ajuda a implementar isso em aplicativos baseados em Qt. Você pode usar um dos widgets prontos para conclusão fornecidos por este framework ou integrá-lo a outros widgets de seu aplicativo diretamente. A maneira mais fácil de começar é usar um KComboBox, KHistoryComboBox ou KLineEdit. Se você deseja integrar a completação a outras partes da interface do usuário, você pode usar o KCompletion para gerenciar e selecionar as completações possíveis. |
KConfig | 1 | kconfig.git | Configurações de aplicativos independentes de plataforma persistentes compostas por duas partes: KConfigCore e KConfigGui. O KConfigCore fornece acesso aos próprios arquivos de configuração, o que significa que também gera a configuração em XML. O KConfigGui fornece uma maneira de conectar elementos de controle gráfico (widgets) à configuração para que sejam inicializados automaticamente a partir da configuração e propaguem automaticamente suas alterações para seus respectivos arquivos de configuração. |
KConfigWidgets | 3 | kconfigwidgets.git | Elementos de controle gráfico (widgets) para diálogos de configuração. Widgets para diálogos de configuração. KConfigWidgets fornece classes fáceis de usar para criar diálogos de configuração, bem como um conjunto de widgets que usa KConfig para armazenar suas configurações. |
KCoreAddons | 1 | kcoreaddons.git | Utilitários para a funcionalidade principal do aplicativo e acesso ao sistema operacional. Biblioteca adicional Qt com uma coleção de utilitários não-GUI. KCoreAddons fornece classes construídas em cima do QtCore para realizar várias tarefas, como manipulação de tipos MIME, salvamento automático de arquivos, criação de arquivos de backup, geração de sequências aleatórias, execução de manipulações de texto como substituição de macro, acesso a informações do usuário e muito mais. |
KCrash | 2 | kcrash.git | Fornece suporte para interceptar e lidar com travamentos de aplicativos. |
KDBusAddons | 1 | kdbusaddons.git | KDBusAddons fornece classes de conveniência para DBus em cima de QtDBus, bem como uma API para criar módulos KDED. |
KDeclarative | 3 | kdeclarative.git | Addon para Qt declarative |
KDED | 3 | kded.git | KDED significa KDE Daemon, o daemon central dos espaços de trabalho do KDE. O KDED é executado em segundo plano e executa uma série de pequenas tarefas. Algumas dessas tarefas são integradas, outras são iniciadas sob demanda. |
KDesignerPlugin | 3 | kdeclarative.git | Este framework fornece plug-ins para o Qt Designer que permitem exibir os widgets fornecidos por vários KDE frameworks, bem como um utilitário (kgendesignerplugin) que pode ser usado para gerar outros plug-ins a partir de arquivos de descrição no estilo ini. |
KDESu | 3 | kdesu.git | KDESU (KDE super user) fornece uma interface de usuário para executar comandos do shell com privilégios de root. Ele fornece funcionalidade para construir front ends de interfaces gráficas para programas em modo de console (que solicitam senha). Por exemplo, o kdesu e o kdessh usam-no para fazer interface com su e ssh respectivamente. |
KDEWebkit | 3 | kdewebkit.git | Integração do mecanismo de renderização HTML WebKit. A biblioteca KDEWebkit fornece integração ao KDE da biblioteca QtWebKit. Se você estiver usando o QtWebKit em seu aplicativo KDE, é recomendável usar essa camada em vez de usar as classes QtWebKit diretamente. Em particular, você deve usar KWebView no lugar de QWebView, KGraphicsWebView no lugar de QGraphicsWebView e KWebPage no lugar de QWebPage. |
KDNSSDFramework | 2 | kdnssd.git | KDNSSD é uma biblioteca para lidar com o Protocolo de Descoberta de Serviço baseado em DNS (DNS-SD), a camada de [Zeroconf] (http://www.zeroconf.org) que permite serviços de rede, como impressoras, serem descobertos sem qualquer intervenção do usuário ou infraestrutura centralizada. |
KDocTools | 2 | kdoctools.git | Fornece ferramentas para gerar documentação em vários formatos a partir de arquivos DocBook. |
KEmoticons | 3 | kemoticons.git | Fornece temas de emoticons, bem como classes auxiliares para converter automaticamente emoticons de texto em emoticons gráficos. |
KGlobalAccel | 1 | kglobalaccel.git | O KGlobalAccel permite que você tenha atalhos de teclado globais (aceleradores) que são independentes da janela em foco. Ao contrário dos atalhos regulares, a janela do aplicativo não precisa de foco para serem ativados. |
KGuiAddons | 1 | kguiaddons.git | Addons de interfaces gráficas de usuário do KDE; Utilitários para interfaces gráficas de usuário; Os addons de interfaces gráficas de usuário do KDE fornecem utilitários para interfaces gráficas de usuário nas áreas de cores, fontes, texto, imagens, entrada de teclado. |
KHTML | 4 | khtml.git | KHTML é o mecanismo de renderização de HTML do qual o WebKit foi bifurcado. É baseado na tecnologia KParts e usa KJS para suporte a JavaScript. |
Ki18n | 1 | ki18n.git | Internacionalização de texto da IU baseada em gettext do KDE. KI18n fornece funcionalidade para internacionalizar o texto da interface do usuário em aplicativos, com base no sistema de tradução GNU Gettext. Ele envolve a funcionalidade do Gettext padrão, para que os programadores e tradutores possam usar as ferramentas e fluxos de trabalho familiares do Gettext. O KI18n também fornece funcionalidade adicional, tanto para programadores quanto para tradutores, o que pode ajudar a alcançar uma maior qualidade geral de fonte e texto traduzido. Isso inclui captura de argumento, marcação personalizável e script de tradução. |
KIconThemes | 3 | kiconthemes.git | Esta biblioteca contém classes para melhorar o manuseio de ícones em aplicativos que usam o KDE Frameworks. |
KIdleTime | 1 | kidletime.git | Módulo de integração para detecção de tempo ocioso. |
KImageFormats | 1 | kimageformats.git | Plug-ins para permitir que o QImage suporte formatos de arquivo extras. Este framework fornece plug-ins de formato de imagem adicionais para QtGui. Como tal, não é necessário para a compilação de qualquer outro software, mas pode ser um requisito de tempo de execução para software baseado em Qt para suportar certos formatos de imagem. Os seguintes formatos de imagem têm suporte somente leitura:
Os seguintes formatos de imagem têm suporte de leitura e gravação:
|
KInit | 3 | kinit.git | O kdeinit é um lançador de processos, que inicia processos bifurcando e depois carregando uma biblioteca dinâmica que deve conter uma função 'kdemain (...)'. O kdeinit acelera o início de aplicativos nos espaços de trabalho do KDE; O kdeinit está vinculado a todas as bibliotecas de que um aplicativo KDE padrão precisa. Com essa técnica, iniciar um aplicativo torna-se muito mais rápido porque agora apenas o próprio aplicativo precisa ser vinculado, enquanto, caso contrário, tanto o aplicativo quanto todas as bibliotecas que ele usa precisam ser vinculados. |
KIO | 3 | kio.git | Acesso transparente de rede a arquivos e dados. Esta estrutura implementa quase todas as funções de gerenciamento de arquivos de que você precisará. O Dolphin e a caixa de diálogo de arquivos do KDE também usa isso para fornecer o gerenciamento de arquivos habilitado para rede. |
Kirigami | 1 | kirigami.git | Um conjunto de plug-ins do QtQuick para construir interfaces de usuário com base nas diretrizes de UX do KDE |
KItemModels | 1 | kitemmodels.git | Conjunto de modelos de itens que estendem o framework de visão de modelo Qt. KItemModels fornece os seguintes modelos:
|
KItemViews | 1 | kitemviews.git | Conjunto de visualizações de itens que estendem o framework de visualização de modelo da Qt. KItemViews inclui um conjunto de visualizações, que pode ser usado com modelos de itens. Inclui visualizações para categorizar listas e adicionar filtros de pesquisa a listas simples e hierárquicas. |
KJobWidgets | 2 | kjobwidgets.git | KJobWIdgets fornece widgets para mostrar o progresso de trabalhos assíncronos. |
KJS | 1 | kjs.git | KJS fornece um interpretador compatível com ECMAScript. O padrão ECMA é baseado em linguagens de script bem conhecidas, como JavaScript da Netscape e JScript da Microsoft. |
KJSEmbed | 3 | kjsembed.git | KSJEmbed fornece um método de vinculação de objetos JavaScript a QObjects, para que você possa criar scripts em seus aplicativos. |
KMediaPlayer | 3 | kmediaplayer.git | Deprecado: Interface para tocador de mídia KParts. KMediaPlayer baseia-se no framework KParts para fornecer uma interface comum para KParts que pode reproduzir arquivos de mídia. Este framework é um auxiliar para portabilidade. Não é recomendado para novos projetos, e projetos existentes que o usam são aconselhados a migrar dele e usar KParts plano em seu lugar. |
KNewStuff | 3 | knewstuff.git | Framework para baixar e compartilhar dados adicionais de aplicativo. A biblioteca KNewStuff implementa o compartilhamento colaborativo de dados para aplicativos. Ele usa libattica para suportar a especificação Open Collaboration Services. Attica é uma biblioteca Qt que implementa a API Open Collaboration Services versão 1.6. Ela facilita o acesso aos serviços, como consulta de informações sobre pessoas e conteúdos. |
KNotifications | 3 | knotifications.git | Solução com abstração para notificações do sistema. |
KNotifyConfig | 3 | knotifyconfig.git | Módulo para configuração do KNotify. |
KParts | 3 | kparts.git | A biblioteca KParts implementa o framework para as partes do KDE. Um componente individual da interface do usuário é chamado de KPart e é um widget elaborado com uma interface do usuário definida em termos de ações (itens de menu, ícones da barra de ferramentas). KParts são análogas aos componentes Bonobo no GNOME e controles ActiveX no Component Object Model da Microsoft. O Konsole está disponível como uma KPart e é usado em aplicativos como o Konqueror e Kate. Exemplos de uso da KParts:
Documentação adicional:
|
KPlotting | 1 | kplotting.git | KPlotWidget é uma classe derivada de QWidget que fornece uma classe base virtual para fácil plotagem de dados. A ideia por trás do KPlotWidget é que você só precisa especificar as informações em "unidades de dados"; ou seja, as unidades naturais dos dados sendo plotados. KPlotWidget converte tudo automaticamente em unidades de pixel da tela. KPlotWidget desenha os eixos X e Y com marcas e rótulos de escala. Ele determina automaticamente quantas marcas de verificação usar e onde elas devem estar, com base nos limites de dados especificados para o gráfico. Você altera os limites chamando `setLimits(double x1, double x2, double y1, double y2)`. Os dados a serem plotados são armazenados usando a classe KPlotObject. KPlotObject consiste em uma QList de QPointFs, cada um especificando as coordenadas X,Y de um ponto de dados. KPlotObject também especifica o "tipo" de dados a serem plotados (POINTS ou CURVE ou POLYGON ou LABEL) |
KPty | 2 | kpty.git | Interface com dispositivos pseudo-terminais. Esta biblioteca fornece primitivos para interface com dispositivos de pseudoterminal, bem como uma classe derivada de KProcess para executar processos filho e se comunicar com eles usando um pty. |
Kross | 3 | kross.git | Incorporação de scripts em aplicativos. Kross é uma ponte de script para incorporar a funcionalidade de script em um aplicativo. Ele suporta QtScript como back-end de interpretador de scripts. O núcleo do Kross fornece o framework para lidar de forma transparente com back-ends de interpretador e oferece funcionalidade abstrata para lidar com scripts. |
KRunner | 3 | krunner.git | Framework para fornecer diferentes ações em uma consulta de string. Framework para corredores do Plasma. O espaço de trabalho do Plasma oferece um aplicativo chamado KRunner que, entre outras coisas, permite digitar em uma área de texto, o que faz com que várias ações e informações que correspondem ao texto apareçam à medida que o texto é digitado. Uma aplicação para isso é o corredor universal que você pode iniciar com ALT+F2. |
KService | 3 | kservice.git | O KService fornece um framework de plug-in para lidar com serviços de área de trabalho. Os serviços podem ser aplicativos ou bibliotecas. Eles podem ser vinculados a tipos MIME ou manipulados por código específico do aplicativo. |
KSyntaxHighlighting | 1 | syntax-highlighting.git | Esta é uma implementação independente do mecanismo de realce de sintaxe do Kate. Ele serve como um bloco de construção para editores de texto, bem como para renderização simples de texto destacado (por exemplo, como HTML), suportando tanto a integração com um editor personalizado quanto uma subclasse QSyntaxHighlighter pronta para usar. |
KTextEditor | 3 | ktexteditor.git | O KTextEditor fornece um poderoso componente de editor de texto que você pode incorporar em seu aplicativo, como uma KPart ou usando a biblioteca KF5::TextEditor (se precisar de mais controle). O componente editor de texto contém muitos recursos úteis, desde destaque de sintaxe e recuo automático até suporte avançado de script, tornando-o adequado para tudo, desde um simples editor de arquivo de texto incorporado a um IDE avançado. |
KTextWidgets | 3 | ktextwidgets.git | KTextWidgets fornece widgets para exibir e editar texto. Ele suporta rich text e também texto simples. |
KUnitConversion | 2 | kunitconversion.git | KUnitConversion fornece funções para converter valores em diferentes unidades físicas. Ele suporta a conversão de diferentes prefixos (por exemplo, quilo, mega, giga), bem como a conversão entre diferentes sistemas de unidades (por exemplo, litros, galões). As seguintes áreas são suportadas:
|
KWalletFramework | 3 | kwallet.git | Armazenamento seguro em toda a área de trabalho para senhas. Este framework contém dois componentes principais:
|
KWayland | 1 | kwayland.git | KWayland é a biblioteca do KDE usada para implementar o suporte ao Wayland em aplicativos do KDE, ele atende às necessidades além do que o QtWayland oferece. Todos os aplicativos do KDE em uma sessão do plasma no Wayland usam esta biblioteca e o LXQt talvez possa usá-la também. O KWayland faz parte do KDE Frameworks desde 5.22 (maio de 2016); ele foi distribuído anteriormente como parte do KDE Plasma 5. |
KWidgetsAddons | 1 | kwidgetsaddons.git | Addon com várias classes em cima do QtWidgets. Se estiver portando aplicativos a partir da biblioteca "kdeui" da KDE Platform 4, você encontrará muitas de suas classes aqui. São fornecidas classes de ação que podem ser adicionadas a barras de ferramentas ou menus, uma ampla gama de widgets para selecionar caracteres, fontes, cores, ações, datas e horas ou tipos de MIME, bem como diálogos de plataforma para páginas de configuração, caixas de mensagem, e solicitações de senha. Outros widgets e classes podem ser encontrados em outros frameworks do KDE. |
KWindowSystem | 1 | kwindowsystem.git | Permite interagir com o sistema de janelas. Ele fornece uma NETRootInfo para acessar o estado global (tudo o que está definido na janela raiz) e NETWinInfo para todas as informações sobre uma janela específica. As classes possuem um gerenciador de janelas e perspectiva do cliente. Esta é a base que alimenta o KWin e várias partes do shell gráfico, como o gerenciador de tarefas.[16] Além dessas classes específicas do X11, temos uma API conveniente KWindowInfo e KWindowSystem que fornece uma API independente do sistema de janelas para nossos aplicativos. |
KXMLGUI | 3 | kxmlgui.git | KXMLGUI fornece um framework para gerenciar as ações do menu e da barra de ferramentas de uma forma abstrata. As ações são configuradas por meio de uma descrição XML e ganchos no código do aplicativo. O framework suporta a fusão de várias descrições, por exemplo, para integrar ações de plug-ins. O KXMLGui usa a funcionalidade de autorização Kiosk do KConfig (consulte o namespace KAuthorized nesse framework). Notavelmente, as instâncias de QAction adicionadas a KActionCollection são desabilitadas se KAuthorized::authorizeAction() relatar que não estão autorizadas. Os itens no menu de ajuda padrão (KHelpMenu) também podem ser desabilitados com base nas configurações do Kiosk, e a edição da barra de ferramentas pode ser restrita. Veja a documentação do KActionCollection, KHelpMenu e KToolBar para mais informações. |
Plasma-framework | 3 | plasma-framework.git | Bibliotecas básicas, componentes de tempo de execução e ferramentas dos espaços de trabalho do KDE Plasma baseados em KF5 e Qt5. O framework do plasma fornece o seguinte:
|
Prison | 1 | prison.git | Prison é uma camada/biblioteca de abstração de código de barras baseada em Qt e fornece acesso uniforme para geração de códigos de barras com dados. |
Solid | 1 | solid.git | Solid fornece uma maneira de consultar e interagir com o hardware, independentemente do sistema operacional subjacente. Ele fornece os seguintes recursos para desenvolvedores de aplicativos:
|
Sonnet | 1 | sonnet.git | Sonnet é uma biblioteca de verificação ortográfica baseada em plug-in para aplicativos baseados em Qt. Ele suporta vários plug-ins diferentes, incluindo HSpell, Enchant, ASpell e HUNSPELL. Ele também oferece suporte à detecção automática de idioma, com base em uma combinação de diferentes algoritmos. A maneira mais simples de usar o Sonnet em seu aplicativo é usar a classe SpellCheckDecorator em sua QTextEdit. |
Syndication | 2 | syndication.git | Syndication é uma biblioteca analisadora de RSS/Atom. |
ThreadWeaver | 1 | threadweaver.git | ThreadWeaver é uma fila de Trabalhos. Ele executa trabalhos em threads que gerencia internamente. |
As distribuições Linux usam algum sistema de gerenciamento de pacotes para empacotar o software que distribuem. O Debian, por exemplo, distribui KGlobalAccel sob o nome de pacote libkf5globalaccel,[17] enquanto o Fedora o distribui sob o nome kf5-kglobalaccel.[18]
O lançamento do 5.0 foi precedido por technology preview, dois lançamentos alfa, e três alnçamentos beta.[19][20][21]
Lançamentos do Frameworks 5 | ||
---|---|---|
Versão | Data | Notas |
5.0 | 7 de julho de 2014[22] | Lançamento inicial, requer Qt 5.2. |
5.1 | 7 de agosto de 2014[23] | |
5.2 | 12 de setembro de 2014[24] | |
5.3 | 7 de outubro de 2014[25] | |
5.4 | 6 de novembro de 2014[26] | |
5.5 | 11 de dezembro de 2014[27] | |
5.6 | 8 de janeiro de 2015[28] | Novos frameworks: KPackage e NetworkManagerQt |
5.7 | 14 de fevereiro de 2015[29] | |
5.8 | 13 de março de 2015[30] | Novos frameworks: KPeople e KXmlRpcClient |
5.9 | 10 de abril de 2015[31] | Novo framework: ModemManagerQt |
5.10 | 8 de maio de 2015[32] | |
5.11 | 12 de junho de 2015[33] | Novo framework: BlueZ-Qt |
5.12 | 10 de julho de 2015[34] | |
5.13 | 12 de agosto de 2015[35] | Novos frameworks: Baloo (substitui NEPOMUK) e KFileMetaData, agora requer Qt 5.3. |
5.14 | 11 de setembro de 2015[36] | |
5.15 | 10 de outubro de 2015[37] | |
5.16 | 13 de novembro de 2015[38] | |
5.17 | 12 de dezembro de 2015[39] | |
5.18 | 9 de janeiro de 2016[40] | |
5.19 | 13 de fevereiro de 2016[41] | |
5.20 | 13 de março de 2016[42] | |
5.21 | 9 de abril de 2016[43] | Novo framework: KActivities-stats, agora requer Qt 5.4. |
5.22 | 15 de maio de 2016[44] | Novo framework: KWayland |
5.23 | 13 de junho de 2016[45] | |
5.24 | 9 de julho de 2016[46] | |
5.25 | 13 de agosto de 2016[47] | Agora requer Qt 5.5 ou acima. |
5.26 | 10 de setembro de 2016[48] | |
5.27 | 8 de outubro de 2016[49] | |
5.28 | 15 de novembro de 2016[50] | Novo framework: KSyntaxHighlighting[51] |
5.29 | 12 de dezembro de 2016[52] | Novo framework: Prison |
5.30 | 14 de janeiro de 2017[53] | Adiciona suporte do KNewStuff para KPackage |
5.31 | 11 de fevereiro de 2017[54] | Muitos módulos agora têm ligações para Python, agora requer Qt 5.6 ou acima |
5.32 | 11 de março de 2017[55] | |
5.33 | 8 de abril de 2017[56] | |
5.34 | 13 de maio de 2017[57] | |
5.35 | 1 de junho de 2017[58] | |
5.36 | 8 de julho de 2017[59] | |
5.37 | 13 de agosto de 2017[60] | Novo framework: Kirigami, agora requer Qt 5.7 ou acima |
5.38 | 9 de setembro de 2017[61] | |
5.39 | 14 de outubro de 2017[62] | |
5.40 | 11 de novembro de 2017[63] | |
5.41 | 10 de dezembro de 2017[64] | |
5.42 | 13 de janeiro de 2018[65] | |
5.43 | 12 de fevereiro de 2018[66] | Novos frameworks: KHolidays e Purpose |
5.44 | 10 de março de 2018[67] | |
5.45 | 14 de abril de 2018[68] | Requer Qt 5.8 ou acima |
5.46 | 12 de maio de 2018[69] | |
5.47 | 9 de junho de 2018[70] | |
5.48 | 15 de julho de 2018[71] | |
5.49 | 11 de agosto de 2018[72] | |
5.50 | 8 de setembro de 2018[73] | Novo framework: Syndication |
5.51 | 15 de outubro de 2018[74] | |
5.52 | 10 de novembro de 2018[75] | |
5.53 | 9 de dezembro de 2018[76] | Requer Qt 5.9 ou acima |
5.54 | 12 de janeiro de 2019[77] | |
5.55 | 9 de fevereiro de 2019[78] | Requer Qt 5.10 ou acima |
5.56 | 9 de março de 2019[79] | |
5.57 | 13 de abril de 2019[80] | |
5.58 | 13 de maio de 2019[81] | |
5.59 | 8 de junho de 2019[82] | |
5.60 | 13 de julho de 2019[83] | Requer Qt 5.11 ou acima |
5.61 | 10 de agosto de 2019[84] | |
5.62 | 14 de setembro de 2019[85] | |
5.63 | 12 de outubro de 2019[86] | Adicionados KCalendarCore e KContacts |
5.64 | 10 de novembro de 2019[87] | |
5.65 | 14 de dezembro de 2019[88] | Adicionado KQuickCharts, agora requer Qt 5.12 ou acima |
5.66 | 11 de janeiro de 2020[89] | |
5.67 | 8 de fevereiro de 2020[90] | |
5.68 | 15 de março de 2020[91] | |
5.69 | 5 de abril de 2020[92] | |
5.70 | 9 de maio de 2020[93] | |
5.71 | 13 de junho de 2020[94] | |
5.72 | 11 de julho de 2020[95] | Adicionado KDAV |
5.73 | 8 de agosto de 2020[96] | |
5.74 | 12 de setembro de 2020[97] | |
5.75 | 10 de outubro de 2020[98] | |
5.76 | 7 de novembro de 2020[99] | |
5.77 | 12 de dezembro de 2020[100] | Requer Qt 5.13 ou acima |
5.78 | 9 de janeiro de 2021[101] | Requer Qt 5.14 ou acima |
5.79 | 12 de fevereiro de 2021[102] | |
5.80 | 13 de março de 2021[103] | |
5.81 | 10 de abril de 2021[104] | |
5.82 | 8 de maio de 2021[105] | Requer Qt 5.15 ou acima |
5.83 | 12 de junho de 2021[106] | |
5.84 | 10 de julho de 2021[107] | |
5.85 | 13 de agosto de 2021[108] | |
5.86 | 11 de setembro de 2021[109] | |
5.87 | 9 de outubro de 2021[110] | |
5.88 | 13 de novembro de 2021[111] | |
5.89 | 11 de dezembro de 2021[112] | |
5.90 | 8 de janeiro de 2022[113] | |
5.91 | 13 de fevereiro de 2022[114] | |
5.92 | 12 de março de 2022[115] | |
5.93 | 9 de abril de 2022[116] | |
5.94 | 14 de maio de 2022[117] | |
5.95 | 12 de junho de 2022[118] | |
5.96 | 9 de julho de 2022[119] | |
5.97 | 14 de agosto de 2022[120] | |
5.98 | 12 de setembro de 2022[121] | |
5.99 | 9 de outubro de 2022[122] | |
[123] | 5.100||
Versão antiga Versão mais recente Lançamento futuro |
O código-fonte do KDE Frameworks existe desde o KDElibs 1. O primeiro lançamento como KDE Frameworks foi com a versão 5, para contabilizar o fato de que a base de código foi a da plataforma KDE versão 4 (a única versão principal da plataforma KDE).
A transição da Plataforma KDE para o KDE Frameworks começou em agosto de 2013, guiada pelos principais colaboradores técnicos do KDE.[8]
Após o lançamento inicial do KDE Frameworks 5.0, os desenvolvedores se concentraram em adicionar novos recursos aos componentes do KDE Frameworks 5,[124] um exemplo sendo melhor integração do Firefox ao KDE.[125]
A principal melhoria do Frameworks 5 é sua modularização. Nas versões anteriores do KDE, as bibliotecas eram agrupadas como um único pacote grande. No Frameworks, as bibliotecas foram divididas em pacotes individuais menores. Isso facilita a utilização das bibliotecas por outro software baseado em Qt, uma vez que as dependências podem ser mantidas no mínimo.[8]
Enquanto o KDE 4 foi baseado na versão 4 do kit de ferramentas de widget Qt, o Frameworks 5 é baseado na versão 5.
Além da KDE Software Compilation, existem outros usuários, como os ambientes de desktop LXQt, MoonLightDE ou Hawaii.
A versão 3.0 do Krita, o editor de gráficos rasterizados da Calligra Suite, lançado em 31 de maio de 2016, depende do KDE Frameworks 5 e Qt 5.2.
Com o Kirigami, há também uma maior utilização por aplicações tais como Amarok, Avogadro, Trojitá ou Subsurface.