Versão da ferramenta de montagem Qbs 2.0

Lançamento da ferramenta de compilação Qbs 2.0 introduzida. Para construir Qbs, o Qt é necessário como uma dependência, embora o próprio Qbs seja projetado para organizar a montagem de qualquer projeto. O Qbs usa uma versão simplificada da linguagem QML para definir scripts de construção de projetos, o que permite definir regras de construção bastante flexíveis nas quais módulos externos podem ser conectados, funções JavaScript podem ser usadas e regras de construção arbitrárias podem ser criadas.

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 ele mesmo, sem intermediários como o utilitário make, controla o lançamento 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 superar o make várias vezes - a reconstrução é quase instantânea e não faz o desenvolvedor perder tempo esperando.

Lembre-se que em 2018, a Qt Company decidiu parar de desenvolver Qbs. O Qbs foi desenvolvido como um substituto para o qmake, mas no final foi decidido usar o CMake como o principal sistema de compilação do Qt a longo prazo. O desenvolvimento do Qbs agora continua como um projeto independente apoiado por forças da comunidade e desenvolvedores interessados. A infraestrutura da Qt Company continua a ser usada para desenvolvimento.

Uma mudança significativa no número da versão está associada à implementação de um novo back-end JavaScript, que substituiu o QtScript, que foi obsoleto no Qt 6. Foi considerado irreal continuar mantendo o QtScript por conta própria devido a ligações complexas com o JavaScriptCore, portanto, um auto -suficiente e compacto foi escolhido como base para o novo mecanismo JavaScript QuickJS criado por Fabrice Bellard, que fundou os projetos QEMU e FFmpeg. O mecanismo suporta 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 de scripts de construção, a transição para um novo mecanismo não deve levar a mudanças perceptíveis. O desempenho também permanecerá praticamente o mesmo. Das diferenças, existem requisitos mais rigorosos no novo mecanismo para o uso de valores nulos, o que pode revelar problemas em projetos existentes que passaram despercebidos ao usar o QtScript.

Fonte: opennet.ru

Adicionar um comentário