Outra compilação de notícias do Qt, desta vez nos últimos seis meses desde o último artigo . Lançamentos 5.11 e 5.12, a reencarnação do PySide, o funeral repentino de Qbs, o lançamento do Qt Design Studio e uma melhoria significativa nas condições de licenças para startups.

Eu não criei um KPVD interessante, porque, em vez disso, consegui um KDV - era um fotógrafo que veio ao nosso escritório no verão para uma sessão de fotos corporativas, da qual recortei uma foto do meu colega.
Vamos começar com promessas quebradas. No final do artigo anterior, foram postados dois votos: para transferir um post do blog oficial sobre a transferência de Qt para microcontroladores e para escrever uma revisão do Safe Renderer , e a votação mostrou que ambos os artigos merecem publicação. Mas o autor se recusou a publicar o artigo sobre o microcontrolador OVNI: " Publicações de natureza publicitária fora do blog corporativo e do hub" I PR "são proibidas pelas regras do site " . É difícil dizer exatamente o que estava anunciando lá ( você pode ver o original em inglês e avaliá-lo ), mas, nesse caso, não havia sentido em experimentar o Safe Renderer ( porque é um recurso exclusivamente comercial ). Então me perdoe se alguém estava esperando.
Conteúdo para hoje:
Novos Lançamentos
Qt 5.11
22 de maio lançou o Qt 5.11 .
Não posso destacar nenhuma inovação particularmente significativa, exceto o processo de compilação QML reprojetado , que deve melhorar significativamente o desempenho dos aplicativos Qt Quick:

Também na versão:
Qt 5.12
Em 6 de dezembro, foi lançado o Qt 5.12 (uma revisão da CTO ), outra versão do LTS que será suportada por 3 anos.
Melhor desempenho . Isso se refere principalmente ao mecanismo QML e ao JavaScript, que agora está em conformidade com o padrão ECMAScript 7 .
O lançamento do Qt Remote Object - um mecanismo para comunicação entre processos no mesmo host e entre diferentes hosts na rede.
O lançamento do Qt Quick WebGL , também conhecido como Qt WebGL streaming - ou seja, a capacidade de converter a GUI de um aplicativo em execução em um host remoto ( dispositivo sem monitor ) e exibi-lo em um navegador em um desktop ou tablet. Como exemplo, um Raspberry Pi com uma câmera, um aplicativo Qt transmite a GUI junto com a saída da câmera e tudo é renderizado no Safari habitual no iPad:

Coisa muito legal, eu apenas brinquei com ele com entusiasmo, mas sinceramente não consigo imaginar quem vai usá-lo e por quê. Se o trabalho com um dispositivo a partir de um navegador já está implícito, por que incomodar a GUI no Qt Quick e transmiti-la para o WebGL? Não é mais fácil simplesmente iniciar um servidor Web normal no dispositivo, e a GUI do cliente estará em HTML / CSS / JS sem tudo isso? Uma característica estranha, em geral.
O Qt Quick Controls 2 finalmente adicionou um TableView . Aqui está até uma comparação do desempenho do analógico do Qt Quick Controls 1. Infelizmente, ainda não há notícias sobre o TreeView .
Manipuladores de ponteiro eliminaram o status de visualização e renomearam para Manipuladores de entrada . Este é um novo módulo para processar entradas do mouse, teclado e tela sensível ao toque. Nesse sentido, em algum momento você deve esperar "obsolescência" do MouseArea .
No teclado virtual Qt, entre outras coisas, novos idiomas são adicionados, além de um novo mecanismo de escrita manual - o MyScript .
O Qt para criação de dispositivos apresentou os chamados pacotes de suporte da placa Qt . Essas são as mesmas imagens e cadeias de ferramentas do Yocto, somente agora na forma de baixados separadamente e conectados aos pacotes do instalador. O significado do QBSP é oferecer suporte a parceiros e fornecedores de ferro, para que seja mais conveniente criar e distribuir imagens de Boot to Qt para seus dispositivos.
O apoio de Wayland está se desenvolvendo.
Qt creator
Por seis meses, duas versões do Qt Creator foram lançadas: 4.7 e 4.8 .
Das inovações mais significativas - suporte ao Language Server Protocol , ou seja, a possibilidade de expandir o Qt Creator para trabalhar com mais linguagens de programação. Ao mesmo tempo, a QML "nativa" ainda não está atualizada com as versões mais recentes dos módulos para importação, e é por isso que elas precisam ser resolvidas com um empurrão científico.
Na versão 4.8 , o módulo de telemetria também deveria ser adicionado, mas não entrou nesta versão, portanto, espere na 4.9.
Qt Design Studio
O mesmo projeto semi-secreto :
Como você sabe, o Qt tem uma ótima ferramenta para criar GUIs em Widgets - Qt Designer . Você pode trabalhar com ele no Qt Creator ( guia Design ) e iniciando-o como um aplicativo independente para trabalhar com arquivos .ui
.
Com o advento do Qt Quick, foi adicionada a ferramenta Qt Quick Designer , que não pode mais ser executada como um aplicativo separado, uma vez que é pregada até a morte pelo Qt Creator.
E o Qt Design Studio é o mesmo Qt Quick Designer, mas com funcionalidade adicional. Agora também é um aplicativo independente, embora na verdade seja apenas uma cópia aleijada do Qt Creator, que inicia imediatamente no modo de design do Qt Quick ( com a capacidade de alternar para o modo de edição QML ).
A partir da nova funcionalidade: uma linha do tempo para trabalhar com animações, caixas de diálogo convenientes para configurar essas animações e um componente de visualização ao vivo para visualizar alterações em tempo real em uma janela separada e em um tablet ou outro dispositivo conectado. Notavelmente, é improvável que todas essas coisas voltem ao Qt Quick Designer.
O Qt Design Studio é destinado a designers, e entende-se que eles criarão um design de aplicativo, transferirão o resultado ( arquivos .ui.qml
) para desenvolvedores, e os desenvolvedores trabalharão com eles no Qt Creator completo.
Os plug-ins também estão sendo desenvolvidos para as ferramentas de design populares existentes, para que os designers possam exportar suas experiências dessas ferramentas para a QML. O primeiro plugin foi criado para o Adobe Photoshop , o próximo é esperado para o Sketch , depois o Adobe XD e outros.
Não sou designer, portanto, é difícil para mim avaliar a utilidade do Qt Design Studio. Quando havia apenas Widgets no Qt, trabalhei no Qt Designer com pouco prazer oculto, e essa é uma ótima ferramenta para criar uma GUI até hoje. Quando o Qt Quick apareceu, tentei várias vezes usar o Qt Quick Designer, mas no final parei e apenas escrevi o QML, o que é mais conveniente e mais rápido para mim. E como o Qt Design Studio é quase o que é o Qt Quick Designer, eu dificilmente o utilizarei. Ao mesmo tempo, até onde eu sei, várias agências de design que receberam o Qt Design Studio para um "test drive" falam positivamente disso.
Em termos de licenciamento, a ferramenta parece ser declarada em código aberto ( GPLv3 ), mas, ao mesmo tempo, parece ser necessária uma licença comercial para distribuir os resultados do trabalho. Sim, e apenas o download do instalador não é tão fácil, é necessário ter uma conta Qt . Em geral, os gerentes de produto ainda não decidiram.
Qt 3D Studio
O desenvolvimento do Qt 3D Studio continua. Durante esse período, as versões 2.0 (uma revisão mais detalhada ), 2.1 e 2.2 foram lançadas .
A mudança mais significativa é a transição do mecanismo original do NVIDIA DRIVE Design Studio para o seu próprio mecanismo baseado em Qt 3D e uma melhoria significativa de desempenho .
Também foi delineado um plano para combinar o Qt 3D Studio e o Qt Design Studio em uma única ferramenta, ou seja, em vez de dois, será um aplicativo para trabalhar com 2D e 3D.
Anúncio de Kuesa
Falando em 3D, o KDAB lançou sua solução para trabalhar com o 3D - Kuesa .
Ao contrário do Qt 3D Studio, eles não gastaram recursos em sua própria ferramenta para modelagem 3D, mas permitem que os designers trabalhem com suas ferramentas usuais ( 3DS Max, Blender ) e, em seguida, o desenvolvedor pode usar os modelos glTF exportados no Qt. Por conveniência, também há um aplicativo para visualizar o modelo e os nomes dos componentes, para que o desenvolvedor saiba como acessá-los em seu código sem abrir o modelo no editor 3D original.
Na minha opinião, Kuesa é uma solução concorrente do Qt 3D Studio ( e, aparentemente, mais bem-sucedida ), e isso é irritante, porque, em vez de fazer a mesma coisa em paralelo, esses esforços podem ser gastos em algo mais útil ( Eu não estou necessariamente falando sobre KDAB agora ). Aqui, a propósito, deve-se lembrar que o próprio Qt 3D também é uma contribuição do KDAB .
PySide2 / Qt para lançamento em Python
O PySide está de volta, renomeado primeiro para PySide2 e depois para o chato Qt para Python .
O primeiro lançamento veio com o Qt 5.11, mas ainda não foi considerado completo, mas outro dia eles lançaram um lançamento oficial junto com o Qt 5.12.
É improvável que eu possa lhe dizer algo novo aqui. Como antes, PySide é a capacidade de usar o Qt ( principalmente para a GUI ) do Python. Ele é distribuído pelo PyPI , ou seja, o Qt não faz parte do instalador oficial e é instalado separadamente pelo pip
. O suporte para plataformas incorporadas ainda não está disponível, embora seja planejado.
Não existe uma lista de diferenças em relação ao PyQt , embora os desenvolvedores garantam que o PySide é quase tão bom quanto qualquer outro e logo o superará. Do ponto de vista do licenciamento comercial, com o PySide, tudo está incluído no preço da licença Qt sem custo adicional, e com o PyQt você ainda precisa pagar no Riverbank; do ponto de vista do código aberto, o PySide está disponível tanto na GPLv3 quanto na LGPLv3, enquanto o PyQt está disponível apenas na GPLv3.
Portabilidade adicional para o MCU
Continua o trabalho de portar o Qt para o hardware no nível do microcontrolador. Além do RTEMS , o FreeRTOS ( que começou a ficar um pouco melhor depois que a Amazon adicionou suporte a POSIX ) e o uClinux foram testados, e até agora a conclusão é que ainda recomendamos o RTEMS.
Falando sobre dispositivos específicos, além do STM32F4 / F7, foram obtidos bons resultados no NXP i.MX RT1050 .
Recusa de Qbs
Top 10 traições no anime! Traidoramente, sem declarar guerra, o blog oficial anunciou o abandono de Qbs .
Resumindo: o desenvolvimento do Qbs foi descontinuado, embora outra versão seja lançada, o suporte terminará no final de 2019, o qmake permanecerá por enquanto, mas no futuro ( Qt 6 ), a transição para o CMake será realizada como o principal sistema de compilação.
Uma postagem coletou duzentos comentários (um registro para o nosso blog ) e teria coletado mais, mas os comentários nas postagens são fechados automaticamente duas semanas após a publicação. Aqui ainda existem comentários em russo.
Omitindo a justificativa técnica para a solução, o principal ultraje foi causado pelo fato de que durante vários anos a comunidade foi informada sobre como Qbs é bonito e que passo adiante, sem mencionar as garantias de que este será o sistema oficial de compilação no Qt 6 e que todos precisam mudar para ele ( e ainda começou a se mover ) e, de repente, Qbs fecha com um jack tão rápido.
Alterações no licenciamento comercial
O contrato de licença comercial foi atualizado para a versão 4.1. Adicionado apêndice com uma lista de software licenciado / distribuído.
As condições de licença para startups melhoraram significativamente: primeiro, agora não é com desconto, mas geralmente é gratuito ; e, segundo, componentes do Device Creation também estão disponíveis agora ( imagens prontas baseadas no Yocto Linux, kits de ferramentas para compilação cruzada etc.) e. ), no entanto, para distribuir produtos de dispositivos de tempo de execução, você ainda precisa comprar (a lógica é tal que, se houver dinheiro para hardware, você também deve encontrar tempos de execução ).
Uma licença de inicialização é emitida por um ano e, em seguida, pode ser estendida por outro ano. Legalmente, esta é uma licença comercial completa sem a necessidade de cumprir a GPL / LGPL. Após o primeiro ano ( ou dois ), ele se transforma em uma licença regular a custo total.
As licenças de inicialização têm as seguintes restrições:
- a renda anual da empresa deve ser inferior a US $ 100.000; caso contrário, você não se qualifica como uma startup;
- Você pode obter licenças para um máximo de três desenvolvedores;
- o suporte técnico é bastante reduzido: 5 tickets por mês e baixa prioridade na fila.
A propósito, é possível que apenas a garota da capa do artigo considere seu pedido de licença de inicialização.
Outras notícias
Este ano, a Cúpula Mundial Qt foi realizada duas vezes: Boston e depois em Berlim. Ainda não há gravações, há apenas uma breve revisão em vídeo de Berlim e um post do KDAB .
A atualização dos ícones dos aplicativos está chegando:

Como você gosta? Eu também E o mais importante, de onde veio essa necessidade de reprojeto, não muito tempo atrás já existia uma e muito boa.
A Forrester conduziu um estudo no qual examinou o impacto do Qt nos negócios, todos os tipos de indicadores de ROI e muito mais. Parece que isso deve ajudar as empresas a avaliar os benefícios do Qt e decidir sobre uma licença comercial. Existe até uma calculadora on - line para calcular papagaios salvos.
Isso é tudo com as notícias de agora, a próxima edição será em algum lugar de maio ou como será digitado material suficiente.