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
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.
- Como instalar o driver para o controle do Xbox no Ubuntu
- Como instalar o NeoGeo Pocket Emulator no Linux via Snap
- Como instalar o jogo Space Station 14 no Linux via Flatpak
- Como habilitar o repositório Games no openSUSE