Chega a nova versão do sistema de compilação QBS 2.0

QbS

O Qbs é um sistema de automação de construção independente de idioma e orientado pela comunidade. É rápido e oferece uma linguagem fácil de aprender baseada em QML.

Faz pouco foi anunciado o lançamento da nova versão do Qbs 2.0, que é um software multiplataforma gratuito e de código aberto para gerenciar o processo de criação de software. Ele foi projetado para suportar projetos grandes e complexos, escritos em várias linguagens de programação, principalmente C/C++.

A nova versão 2.0 é significativo em número de versão, pois está associado à implementação de um novo back-end de JavaScript., que substituiu o QtScript, que foi obsoleto no Qt 6.

Para aqueles que desconhecem o Qbs, devem saber que este usa uma versão simplificada da linguagem QML para definir scripts de construção do projeto, permitindo que você defina regras de construção bastante flexíveis onde módulos externos podem ser conectados, funções JavaScript podem ser usadas e regras de construção arbitrárias podem ser criadas.

Qbs é único porquee não possui nenhum mecanismo para compilações internas, garantindo a capacidade de criar várias compilações a partir de uma única árvore de origem, incluindo a criação de uma única invocação de comando e em paralelo.

Esta é uma característica chave, que garante que os arquivos de origem não sejam afetados se um diretório de compilação for excluído e que nenhum artefato de saída seja gravado no diretório de origem. Para construir Qbs, o Qt é necessário como dependência, embora o próprio Qbs seja projetado para organizar a montagem de qualquer projeto.

A linguagem de script usada no Qbs é adaptada para automatizar a geração e análise de scripts de construção por IDEs. Além disso, o Qbs não gera makefiles e, sem intermediários como o utilitário make, controla a liberação de compiladores e linkers, otimizando o processo de construção com base em um gráfico detalhado de todas as dependências.

A presença de dados iniciais sobre a estrutura e dependências no projeto permite paralelizar efetivamente a execução de operações em vários threads. Para grandes projetos que consistem em um grande número de arquivos e subdiretórios, o desempenho das reconstruções usando Qbs pode ser várias vezes melhor do que fazer: a reconstrução é quase instantânea e não desperdiça tempo de espera do desenvolvedor.

Principais novidades do QBS 2.0

Esta nova versão do QBS 2.0 é notável como mencionado no início, devido ao novo mecanismo JavaScript que vem para substituir o QtScript que foi obsoleto para o Qt 6, pois foi considerado irreal continuar a suportar o QtScript por conta própria devido a ligações complexas com o JavaScriptCore.

A perspectiva de manter o QtScript com sua dependência complexa não parecia particularmente atraente. No entanto, nenhum dos candidatos ofereceu uma API para interceptar acessos de propriedade, algo que os desenvolvedores dizem ser absolutamente necessário por motivos de desempenho.

Do ponto de vista do usuário, não deve haver mudanças perceptíveis; em particular, o desempenho parece ser o mesmo. No entanto, o QtScript foi bastante tolerante em aceitar valores indefinidos em contextos onde não precisava, então a nova implementação pode descobrir alguns bugs em seus projetos.

O motor está em conformidade com a especificação ES2019 e supera significativamente suas contrapartes existentes em desempenho (XS em 35%, DukTape em mais de duas vezes, JerryScript em três vezes e MuJS em sete vezes). Do ponto de vista do desenvolvimento do script de compilação, a transição para um novo mecanismo não deve resultar em alterações perceptíveis.

O desempenho também permanecerá o mesmo. Das diferenças, há requisitos mais rígidos no novo mecanismo para o uso de valores nulos, o que pode revelar problemas em projetos existentes que passaram despercebidos ao usar o QtScript.

Além disso, também é mencionado que removeu os arquivos do projeto qmake, resultando em trabalho de manutenção reduzido para desenvolvedores.

Por fim, é mencionado que a versão 2.1 verá uma reescrita do código com a qual os desenvolvedores presumem que terão vários novos recursos, além de melhorias gerais de desempenho.

Se você estiver interessado em saber mais sobre isso, você pode consultar os detalhes no link a seguir.


Adicionar como fonte preferencial no Google