KDE Frameworks/pt-br: Difference between revisions

From KDE TechBase
(Created page with "* [https://api.kde.org/frameworks/sonnet/html/index.html Sonnet] adiciona verificação ortográfica em vários idiomas a qualquer objeto QTextEdit(realmente um QTextDocument)...")
(Created page with "* [https://api.kde.org/frameworks/threadweaver/html/index.html ThreadWeaver] elimina as dores de um dos aspectos mais difíceis do desenvolvimento de aplicativos modernos: pro...")
Line 110: Line 110:
* [https://api.kde.org/frameworks/sonnet/html/index.html Sonnet] adiciona verificação ortográfica em vários idiomas a qualquer objeto QTextEdit(realmente um QTextDocument) com suporte para diferentes backends ortográficos, enquanto [https://api.kde.org/frameworks/syntax-highlighting/html/index.html KSyntaxHighighting] estende o suporte de destaque de sintaxe do Qt com um formato de definição de sintaxe padronizada e expansível.
* [https://api.kde.org/frameworks/sonnet/html/index.html Sonnet] adiciona verificação ortográfica em vários idiomas a qualquer objeto QTextEdit(realmente um QTextDocument) com suporte para diferentes backends ortográficos, enquanto [https://api.kde.org/frameworks/syntax-highlighting/html/index.html KSyntaxHighighting] estende o suporte de destaque de sintaxe do Qt com um formato de definição de sintaxe padronizada e expansível.


* [https://api.kde.org/frameworks/threadweaver/html/index.html ThreadWeaver] takes the pain out of one of the most difficult aspects of modern application development: multi-threaded programming.
* [https://api.kde.org/frameworks/threadweaver/html/index.html ThreadWeaver] elimina as dores de um dos aspectos mais difíceis do desenvolvimento de aplicativos modernos: programação multithread.


* [https://api.kde.org/frameworks/kconfig/html/index.html KConfig] lets you have a configuration system that works across platforms, no matter the actual back-end file format. [https://api.kde.org/frameworks/kpackage/html/index.html KPackage], on the other hand, can help you extend your programs with content that is installed like plugins.
* [https://api.kde.org/frameworks/kconfig/html/index.html KConfig] lets you have a configuration system that works across platforms, no matter the actual back-end file format. [https://api.kde.org/frameworks/kpackage/html/index.html KPackage], on the other hand, can help you extend your programs with content that is installed like plugins.

Revision as of 20:29, 23 October 2019

Other languages:

O KDE Frameworks, atualmente versão 5 ou KF5, é uma coleção de 80 bibliotecas criadas sobre o Qt application framework e fornece tudo, desde classes de utilitário a E/S assíncronas e transparentes à rede, além de modelos e widgets de dados adicionais, até integração centralizada em desktop. Se o próprio Qt não fornecer uma certa funcionalidade ou recurso, é provável que exista um KDE framework para isso.

Embora o KF5 sirva como os blocos de construção mais básicos do software KDE, eles podem ser usados por qualquer aplicativo Qtx, como qualquer biblioteca adicional do Qt de terceiros. Assim como qualquer outro software KDE, o KF5 usa e favorece o sistema de build do CMake, mas todos os frameworks também suportam o QMake. Muitas estruturas estão disponíveis em múltiplos sistemas operacionais desktop, como Linux e Windows, e estão disponíveis até no Android. Certifique-se de verificar a documentação de cada framework para suas plataformas suportadas.

Garantias e Licença

O KDE, é claro, leva a qualidade do software a sério, ainda mais quando se trata do KF5. Os Frameworks vêm com políticas de qualidade, e para garantir que você não precise esperar que seu bug favorito seja corrigido, uma nova versão é lançada mensalmente. E como é um software livre desenvolvido em um ambiente aberto, qualquer pessoa pode participar ou comentar sobre seu desenvolvimento.


Informação
A versão atual do KDE Frameworks é 5.63.0. Por favor, consulte o release announcement para obter mais informações.


Os KDE Frameworks também são lançados sob as permissive LGPL ou BSD/MIT licenses, tornando-as ideais e utilizáveis para qualquer tipo de software.

Organização

Cada um dos KDE Frameworks possui um Nível e um Tipo, como você verá na documentação da API. Embora não seja essencial para o uso dos frameworks, essa organização pode ajudar os desenvolvedores a determinar as dependências dos frameworks.

As camadas agrupam os frameworks de acordo com o que eles 'linkam' durante a compilação.

  • Os Frameworks de nível 1 podem depender apenas das estruturas oficiais do Qt ou de outras bibliotecas do sistema;
  • Os Frameworks da camada 2 podem depender apenas das estruturas da camada 1, estruturas oficiais do Qt ou outras bibliotecas do sistema;
  • Os Frameworks de camada 3 podem depender apenas de outras estruturas de camada 3, estruturas de camada 2, estruturas de camada 1, estruturas oficiais de Qt ou outras bibliotecas de sistema.

Os tipos, por outro lado, referem-se às dependências de tempo de execução dos frameworks:

  • Os Frameworks funcionais não podem ter dependências em tempo de execução. O KArchive, por exemplo, pode ser usado como está como uma biblioteca drop-in.
  • Os Frameworks de integração podem ter dependências opcionais em tempo de execução e visam integrar-se ao SO/Plataforma subjacente. O Solid precisa de outros componentes em tempo de execução para fornecer informações de hardware em diferentes plataformas.
  • Solutions têm dependências em tempo de execução obrigatórias para funcionar. O KIO, o Framework de E/S do KDE, exige que certos daemons ofereçam um sistema de arquivos virtual transparente à rede.

Guia rápido

Quão fácil é usar o KDE Frameworks 5? Tão fácil quanto usar qualquer widget Qt ou adicionar qualquer biblioteca C++ ao seu projeto. Você nem precisa deixar de usar o QMake se você achar mais fácil. Aqui está um exemplo muito rápido e direto de como é simples usar um framework.

Nota
O exemplo abaixo é escrito apenas para fins de demonstração e não reflete práticas ou convenções de codificação apropriadas. Para obter exemplos mais detalhados, consulte a seção Tutoriais.


Etapa 1: Instale o Framework que você precisa

Neste exemplo, usaremos o KDatePicker widget do KWidgetsAddons framework. No KDE Neon/Ubuntu/Debian, é tão simples quanto:

sudo apt install libkf5widgetsaddons-dev

Ajuste de acordo com o gerenciador de pacotes da sua distribuição Linux, é claro. Se você quiser a versão mais recente do framework e ela não estiver disponível na sua distribuição, será necessário obtê-la dos fontes(Git ou tarball) e compilá-la. Confira o guia prático na Comunidade KDE para compilar o software KDE a partir do fonte.

Etapa 2: adicione o Framework ao seu projeto

Adicione o nome do Framework, em letras maiúsculas, ao seu arquivo de projeto QMake, como faria com qualquer outro módulo Qt.

TEMPLATE = app
TARGET = kdatepicker-example

QT += core widgets KWidgetsAddons

SOURCES += main.cpp

Se você já estiver usando o CMake como seu sistema de build preferido, também precisará usar os Extra CMake Modules criados pela comunidade KDE para fornecer módulos e macros para facilitar a localização e o link aos Frameworks.

Etapa 3: Usar o Framework

O KDatePicker, como muitos outros widgets do KDE Frameworks, se comporta como qualquer widget Qt. Como tal, você pode simplesmente inseri-los ou usá-los em projetos Qt sem nenhum problema. Aqui está um exemplo ilustrativo em que a seleção de uma data no widget de calendário exibe sua representação de sequência no label ao lado.

#include <KDatePicker>

#include <QApplication>
#include <QLabel>
#include <QHBoxLayout>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QWidget* window = new QWidget;

    QLabel* dateLabel = new QLabel(QDate::currentDate().toString());
    KDatePicker* datePicker = new KDatePicker;

    QObject::connect(datePicker, &KDatePicker::dateSelected, [=] (const QDate &dateSelected) { dateLabel->setText(dateSelected.toString()); });

    QHBoxLayout* layout = new QHBoxLayout;
    layout->addWidget(dateLabel);
    layout->addWidget(datePicker);

    window->setLayout(layout);
    window->show();

    return app.exec();
}

Basta compilar o projeto normalmente e é isso! Bem-vindo ao maravilhoso mundo do software KDE!

Exemplos de Frameworks

Agora que você viu como é fácil adicionar os KDE Frameworks ao seu software, aqui está uma amostra dos vários frameworks e o que eles podem fazer por você.

  • Como o KDatePicker acima, o KWidgetsAddons oferece uma ampla variedade de widgets addons que vão além do que o próprio Qt oferece. Por outro lado, KCoreAddons inclui classes de utilitários não gráficos que ajudam a gerenciar processos filhos, criar arquivos de salvamento automático e criar factory-style plugins..
  • Sonnet adiciona verificação ortográfica em vários idiomas a qualquer objeto QTextEdit(realmente um QTextDocument) com suporte para diferentes backends ortográficos, enquanto KSyntaxHighighting estende o suporte de destaque de sintaxe do Qt com um formato de definição de sintaxe padronizada e expansível.
  • ThreadWeaver elimina as dores de um dos aspectos mais difíceis do desenvolvimento de aplicativos modernos: programação multithread.
  • KConfig lets you have a configuration system that works across platforms, no matter the actual back-end file format. KPackage, on the other hand, can help you extend your programs with content that is installed like plugins.
  • If you need to embed an advanced text editor but don't want to go through the hassle of writing one yourself, KTextEditor offers all the functionality you need either as a library or an embeddable KPart.
  • Kirigami is like a framework inside a framework, providing a rich set of Qt Quick components for developing a new breed of applications that bridge the divide between screen sizes and form factors.
  • And, of course, there's the Plasma framework that serves as the foundation for KDE's Plasma workspaces, both for desktops as well as mobile, giving developers the building blocks for creating primary user interfaces as well as applets (widgets) to run on those workspaces.


Be sure to check the full collection of 80 KDE Frameworks on the API documentation website along with other KDE libraries you can use to develop the next killer app, be it on Linux or Windows, desktop or mobile, and anything else in between.

Links Importantes