Otra recopilación de noticias de Qt, esta vez en los últimos seis meses desde el último artículo . Lanzamientos 5.11 y 5.12, la reencarnación de PySide, el funeral repentino de Qbs, el lanzamiento de Qt Design Studio y una mejora significativa en las condiciones de las licencias para startups.

No se me ocurrió un KPVD interesante, porque en lugar de eso, simplemente obtuve un KDV: era un fotógrafo que vino a nuestra oficina en el verano para una sesión de fotos corporativas, de la cual recorté una foto de mi colega.
Comencemos con promesas incumplidas. Al final del artículo anterior, se publicaron dos votos: por transferir una publicación del blog oficial sobre la transferencia de Qt a los microcontroladores y por escribir una revisión de Safe Renderer , y la votación mostró que ambos artículos merecen publicación. Pero el autor se negó a publicar el artículo del microcontrolador OVNI: " Las reglas del sitio prohíben las publicaciones de carácter publicitario fuera del blog corporativo y el centro" I PR " " . Es difícil decir qué se publicitaba exactamente allí ( puede ver el original en inglés y evaluarlo ), pero en ese caso no tenía sentido probar Safe Renderer ( porque es una característica exclusivamente comercial ). Así que perdóname si alguien estaba esperando.
Contenido para hoy:
Nuevos lanzamientos
Qt 5.11
El 22 de mayo lanzó Qt 5.11 .
No puedo resaltar ninguna innovación particularmente significativa, excepto el proceso de compilación QML rediseñado , que debería mejorar significativamente el rendimiento de las aplicaciones Qt Quick:

También en el lanzamiento:
Qt 5.12
El 6 de diciembre, se lanzó Qt 5.12 (una revisión de CTO ), otra versión de LTS que será compatible durante 3 años.
Rendimiento mejorado . Esto se refiere principalmente al motor QML y JavaScript, que ahora cumple con el estándar ECMAScript 7 .
El lanzamiento de Qt Remote Object : un mecanismo para la comunicación entre procesos tanto en el mismo host como entre diferentes hosts en la red.
El lanzamiento de Qt Quick WebGL , también conocido como Qt WebGL streaming, es decir, la capacidad de transmitir la GUI de una aplicación que se ejecuta en un host remoto ( dispositivo sin pantalla ) y mostrarla en un navegador en un escritorio o tableta. Como ejemplo, un Raspberry Pi con una cámara, una aplicación Qt transmite la GUI junto con la salida de la cámara, y todo se representa en un Safari normal en un iPad:

Muy bueno, jugué con entusiasmo, pero, francamente, no puedo imaginar quién lo usará y por qué. Si el trabajo con un dispositivo desde un navegador ya está implícito, ¿por qué molestar la GUI en Qt Quick y transmitirla a WebGL? ¿No es más fácil simplemente iniciar un servidor web normal en el dispositivo, y la GUI del cliente estará con HTML / CSS / JS sin todo esto? Una característica extraña, en general.
Qt Quick Controls 2 finalmente ha agregado un TableView . Aquí hay incluso una comparación del rendimiento del análogo de Qt Quick Controls 1. Desafortunadamente, todavía no hay noticias sobre TreeView .
Los controladores de puntero dejaron el estado de vista previa y cambiaron su nombre a controladores de entrada . Este es un nuevo módulo para procesar la entrada desde el mouse, el teclado y la pantalla táctil. En este sentido, en algún momento debe esperar "obsolescencia" de MouseArea .
En Qt Virtual Keyboard, entre otras cosas, se agregan nuevos idiomas, así como un nuevo motor de escritura a mano: MyScript .
Qt for Device Creation introdujo los llamados paquetes de soporte Qt Board . Estas son las mismas imágenes y cadenas de herramientas de Yocto, solo que ahora se descargan por separado y se conectan a los paquetes del instalador. El significado de QBSP es apoyar a los socios proveedores de hardware para que les sea más fácil crear y distribuir imágenes Boot to Qt para sus dispositivos.
El apoyo de Wayland se está desarrollando.
Creador de Qt
Durante seis meses, se lanzaron dos versiones de Qt Creator: 4.7 y 4.8 .
Una de las innovaciones más significativas: la compatibilidad con Language Server Protocol , es decir, la posibilidad de ampliar Qt Creator para que funcione con más lenguajes de programación. Al mismo tiempo, el QML "nativo" todavía no está actualizado con las últimas versiones de módulos para importación, por lo que deben ser resueltos con un empuje científico.
En la versión 4.8 , también se agregó el módulo de telemetría , pero no se incluyó en esta versión, así que espere en 4.9.
Qt Design Studio
El mismo proyecto semisecreto :
Como sabes, Qt tiene una gran herramienta para crear interfaces gráficas de usuario en widgets: Qt Designer . Puede trabajar con él desde Qt Creator ( pestaña Diseño ) y al .ui
como una aplicación independiente para trabajar con archivos .ui
.
Con la llegada de Qt Quick, se agregó la herramienta Qt Quick Designer , que ya no se puede ejecutar como una aplicación separada, ya que Qt Creator la mata.
Y Qt Design Studio es el mismo Qt Quick Designer, pero con funcionalidad adicional. Ahora también es una aplicación independiente, aunque en realidad es solo una copia paralizada de Qt Creator, que comienza inmediatamente en el modo de diseño Qt Quick ( con la capacidad de cambiar al modo de edición QML ).
De la nueva funcionalidad: una línea de tiempo para trabajar con animaciones, diálogos convenientes para configurar estas animaciones y un componente de vista previa en vivo para previsualizar cambios sobre la marcha tanto en una ventana separada como en una tableta u otro dispositivo conectado. Sorprendentemente, es poco probable que todas estas cosas vuelvan a Qt Quick Designer.
Qt Design Studio está destinado a diseñadores, y se entiende que crearán un diseño de aplicación en él, transferirán el resultado ( archivos .ui.qml
) a los desarrolladores, y los desarrolladores trabajarán con ellos en el Qt Creator completo.
Los complementos también se están desarrollando para las herramientas de diseño populares existentes, de modo que los diseñadores puedan exportar sus experiencias de estas herramientas a QML. El primer complemento se creó para Adobe Photoshop , se espera que el siguiente sea el complemento para Sketch , luego Adobe XD y otros.
No soy diseñador, por lo tanto, me resulta difícil evaluar la utilidad de Qt Design Studio. Cuando solo había Widgets en Qt, trabajé en Qt Designer con poco placer oculto, y esta es una gran herramienta para crear una GUI hasta el día de hoy. Cuando apareció Qt Quick, intenté varias veces usar Qt Quick Designer, pero al final dejé de escribir y escribí QML, que es más conveniente y más rápido para mí. Y dado que Qt Design Studio es casi lo que es Qt Quick Designer, personalmente no lo usaré. Al mismo tiempo, hasta donde yo sé, varias agencias de diseño que recibieron Qt Design Studio para una "prueba de manejo" hablan positivamente de ello.
En términos de licencia, la herramienta parece estar declarada en Código Abierto ( GPLv3 ), pero al mismo tiempo, parece que se requiere una licencia comercial para distribuir los resultados del trabajo. Sí, y simplemente descargar el instalador no es tan fácil, se requiere una cuenta Qt . En general, los gerentes de producto aún no lo han decidido.
Qt 3D Studio
El desarrollo de Qt 3D Studio continúa. Durante este tiempo, se lanzaron las versiones 2.0 (una revisión más detallada ), 2.1 y 2.2 .
El cambio más significativo es la transición del motor original de NVIDIA DRIVE Design Studio a su propio motor Qt 3D y una mejora significativa del rendimiento .
También se describió un plan para combinar Qt 3D Studio y Qt Design Studio en una sola herramienta, es decir, en lugar de dos, será una aplicación para trabajar con 2D y 3D.
Anuncio de Kuesa
Hablando de 3D, aquí KDAB lanzó su solución para trabajar con 3D: Kuesa .
A diferencia de Qt 3D Studio, no gastaron recursos en su propia herramienta para el modelado 3D, pero permitieron a los diseñadores trabajar con sus herramientas habituales ( 3DS Max, Blender ), y luego el desarrollador puede usar los modelos glTF exportados en Qt. Para mayor comodidad, también hay una aplicación para previsualizar el modelo y los nombres de los componentes, de modo que el desarrollador sepa cómo acceder a ellos en su código sin abrir el modelo en el editor 3D original.
En mi opinión, Kuesa es una solución competitiva de Qt 3D Studio ( y, aparentemente, más exitosa ), y esto es molesto, porque en lugar de hacer lo mismo en paralelo, estos esfuerzos podrían gastarse en algo más útil ( No estoy necesariamente hablando de KDAB en este momento ). Aquí, por cierto, se recordará que Qt 3D en sí también es una contribución de KDAB .
PySide2 / Qt para el lanzamiento de Python
PySide está de regreso, renombrado primero a PySide2 , y luego a Qt aburrido para Python .
El primer lanzamiento llegó con Qt 5.11, pero aún no se consideraba completo, pero justo el otro día lanzaron un lanzamiento oficial junto con Qt 5.12.
Es poco probable que pueda decirte algo nuevo aquí. Como antes, PySide es la capacidad de usar Qt ( principalmente para la GUI ) de Python. Se distribuye a través de PyPI , es decir, Qt no forma parte del instalador oficial y se instala por separado a través de pip
. El soporte para plataformas integradas aún no está disponible, aunque está planeado.
No hay una lista de diferencias con PyQt , aunque los desarrolladores aseguran que PySide es casi tan bueno como cualquier cosa y pronto lo superará. Desde el punto de vista de las licencias comerciales, con PySide, todo está incluido en el precio de la licencia Qt sin costo adicional, y con PyQt aún tiene que pagar en Riverbank; desde el punto de vista de Open Source, PySide está disponible bajo GPLv3 y LGPLv3, mientras que PyQt está disponible solo bajo GPLv3.
Más puertos a la MCU
Continúa el trabajo de portar Qt al hardware de nivel de microcontrolador. Además de RTEMS , FreeRTOS ( que comenzó a verse un poco mejor después de que Amazon agregó algo de soporte POSIX allí ) y uClinux fueron probados, y hasta ahora la conclusión es que todavía recomendamos RTEMS.
Hablando de dispositivos específicos, además de STM32F4 / F7, se lograron buenos resultados en el NXP i.MX RT1050 .
Denegación de Qbs
Top 10 traiciones en el anime! Traidoramente, sin declarar la guerra, el blog oficial anunció el abandono de Qbs .
En resumen: el desarrollo de Qbs se suspende, aunque se lanzará otra versión, el soporte finalizará a fines de 2019, qmake permanecerá por ahora, pero en el futuro ( Qt 6 ), la transición a CMake se llevará a cabo como el sistema de construcción principal.
Una publicación recopiló doscientos comentarios (un registro para nuestro blog ), y habría recopilado más, pero los comentarios en las publicaciones se cierran automáticamente dos semanas después de la publicación. Aquí todavía hay comentarios en ruso.
Omitiendo la justificación técnica para la solución, la indignación principal fue causada por el hecho de que durante varios años se le informó a la comunidad sobre cómo Qbs es hermoso y qué paso adelante, sin mencionar las garantías de que este será el sistema de construcción oficial en Qt 6 y todos deben cambiar a él ( y las personas todavía comenzó a moverse ), y de repente Qbs se cierra con un gato tan rápido.
Cambios de licencia comercial
El acuerdo de licencia comercial se ha actualizado a la versión 4.1. Apéndice agregado con una lista de software licenciado / distribuido.
Las condiciones de licencia para las startups han mejorado significativamente: en primer lugar, ahora no tiene un descuento, pero generalmente es gratuito , y en segundo lugar, los componentes de Device Creation también están disponibles ahora ( imágenes preparadas basadas en Yocto Linux, kits de herramientas para compilación cruzada, etc.) e. ), sin embargo, para distribuir dispositivos de productos, aún será necesario comprar tiempos de ejecución (la lógica es tal que si hay dinero para el hardware, también se deben encontrar los tiempos de ejecución ).
Se emite una licencia de inicio por un año y luego se puede extender por otro año. Legalmente, esta es una licencia comercial completa sin la necesidad de cumplir con la GPL / LGPL. Después del primer año ( o dos ), se convierte en una licencia regular a un costo total.
Las licencias de inicio tienen las siguientes restricciones:
- el ingreso anual de la compañía debe ser inferior a $ 100,000; de lo contrario, no califica como una startup;
- Puede obtener licencias para un máximo de 3 desarrolladores;
- El soporte técnico se reduce considerablemente: 5 tickets por mes y baja prioridad en la cola.
Por cierto, es posible que solo la chica de la portada del artículo considere su solicitud de una licencia de inicio.
Otras noticias
Este año, la Cumbre Mundial Qt se celebró dos veces: Boston y luego en Berlín. Todavía no hay grabaciones, solo hay una breve reseña de video de Berlín y una publicación de KDAB .
Se acerca la actualización de los iconos de la aplicación:

Como te gusta Yo tambien Y lo más importante, de dónde surgió esta necesidad de rediseño, no hace mucho tiempo ya había uno, y bastante bueno.
Forrester realizó un estudio en el que examinó el impacto de Qt en un negocio, todo tipo de indicadores de ROI y más. Parece que esto debería ayudar a las empresas a evaluar los beneficios de Qt y decidir sobre una licencia comercial. Incluso hay una calculadora en línea para calcular loros guardados.
Eso es todo con las noticias por ahora, el próximo número será en algún lugar de mayo o cómo se escribirá suficiente material.