QT 6 já está disponível para testes – Confira as novidades dessa prévia

Confira as novidades da prévia do framework multiplataforma QT 6!

A Qt Company anunciou que o QT 6 já está disponível para testes. Confira as novidades da prévia desse importante framework multiplataforma.

Qt é um framework multiplataforma para desenvolvimento de interfaces gráficas em C++ criado pela empresa norueguesa Trolltech e usado por importantes softwares de código aberto como o projeto KDE, dentre outros.

Com ele é possível desenvolver aplicativos e bibliotecas uma única vez e compilá-los para diversas plataformas sem que seja necessário alterar o código fonte.

Agora, os desenvolvedores do Qt já lançaram a primeira versão de teste da nova filial do Qt 6, que proporá mudanças significativas na arquitetura e exigirá um compilador que suporte o padrão C++ 17.

Novidades da prévia do QT 6

QT 6 já está disponível para testes - Confira as novidades dessa prévia
QT 6 já está disponível para testes – Confira as novidades dessa prévia

Por parte das principais alterações, em primeira instância, destaca-se que a API de gráficos abstratos independe do sistema operacional 3D.

Este é um componente essencial da nova pilha de gráficos Qt. É um mecanismo de renderização de cena que usa a camada RHI (Rendering Hardware Interface) para permitir que aplicativos Qt Quick funcionem não apenas com o OpenGL, mas também em cima de APIs 3D. Vulkan, Metal e Direct.

Para o módulo Qt Quick 3D que permite usar o QML para definir elementos da interface 3D sem usar o formato UIP, agora você pode usar um tempo de execução (Qt Quick), um layout de cena e um quadro de animação e usar o Qt Design Studio para desenvolvimento visual da interface.

O módulo resolve problemas como altos custos indiretos, integrando o QML ao conteúdo do Qt 3D ou 3D Studio e fornece a capacidade de sincronizar animações e transformações no nível do quadro individual entre 2D e 3D.

Outra mudança importante é reestruturar a base de código, dividindo-a em componentes menores e reduzindo o tamanho do produto base. Ferramentas de desenvolvedor e componentes especializados serão fornecidos como complementos distribuídos pelo Qt Marketplace.

Além disso, sei que se destaca a modernização significativa da QML:

  • Suporte de digitação forte.
  • Capacidade de compilar QML em C++ e código de máquina.
  • Transferir o suporte completo ao JavaScript para a categoria de opção (o uso de um mecanismo JavaScript completo exige muitos recursos, impedindo que o QML seja usado em computadores como microcontroladores).
  • Negação de versões na QML.
  • A unificação de estruturas de dados duplicadas no QObject e QML (reduzirá o consumo de memória e acelerará a inicialização).
  • Evita gerar estruturas de dados em tempo de execução em favor da geração em tempo de compilação.
  • Oculta componentes internos usando propriedades e métodos privados.
  • Integração aprimorada com ferramentas de desenvolvimento para refatorar e diagnosticar erros durante a compilação.
  • Adicionada ferramentas para processar recursos relacionados a gráficos no estágio de compilação, por exemplo, para converter imagens PNG em texturas compactadas ou converter shaders e malhas em formatos binários otimizados para computadores específicos.
  • Incorporando um mecanismo unificado de tema e estilo que permite obter a aparência de aplicativos baseados nos Qt Widgets e Qt Quick, nativos de diferentes plataformas móveis e de desktop.

Além disso, como sistema de construção, foi decidido usar o CMake em vez do QMake. A compatibilidade para criar aplicativos com o QMake será mantida, mas o Qt será criado usando o CMake.

O CMake foi escolhido porque esse kit de ferramentas foi amplamente usado entre os desenvolvedores de projetos em C ++ e é compatível com muitos ambientes de desenvolvimento integrados.

A comunidade continua a desenvolver o sistema de construção Qbs, que alegou ser um substituto para o QMake.

Transição durante o desenvolvimento para o padrão C++ 17 (C ++ 98 usado anteriormente). O Qt 6 planeja implementar o suporte a muitos recursos modernos do C++, mas sem perder a compatibilidade com o código com base nos padrões anteriores.

Possibilidade de usar no código C++ alguns recursos oferecidos para QML e Qt Quick.

Em particular, um novo sistema de propriedades será introduzido para QObject e classes similares.

Um mecanismo de ligação da QML será integrado ao núcleo Qt, o que reduzirá o consumo de carga e memória dos ligantes e os disponibilizará para todas as partes do Qt, não apenas para o Qt Quick.

Esta versão inclui apenas a estrutura inicial da versão futura do Qt 6, programada para 1º de dezembro de 2020.

A funcionalidade na filial Qt 6 será expandida até que a base de código congele em 31 de agosto.

O que está sendo falado no blog

Veja mais artigos publicados neste dia…