Qt News, mai 2018 - décembre 2018

Une autre compilation de nouvelles de Qt, cette fois au cours des six derniers mois à partir du dernier article . Les versions 5.11 et 5.12, la réincarnation de PySide, les funérailles soudaines de Qbs, la sortie de Qt Design Studio et une amélioration significative des conditions de licences pour les startups.


DDPV


Je n'ai pas trouvé de KPDV intéressant, car au lieu de cela, je viens de recevoir un DDPV - c'était un photographe qui est venu à notre bureau en été pour une séance photo d'entreprise, à partir de laquelle j'ai coupé la photo de mon collègue.


Commençons par des promesses non tenues. À la fin de l'article précédent, deux votes ont été publiés: pour le transfert d'un article du blog officiel sur le portage de Qt aux microcontrôleurs et pour la rédaction d'une critique de Safe Renderer , et le vote a montré que les deux articles méritent d'être publiés. Mais l'auteur a refusé de publier l'article sur le microcontrôleur OVNI: "Les publications à caractère publicitaire en dehors du blog d'entreprise et du hub" I PR "sont interdites par les règles du site. " Il est difficile de dire exactement ce qui était de la publicité là-bas ( vous pouvez voir l'original en anglais et l'évaluer ), mais dans ce cas, il était inutile d'essayer Safe Renderer ( car il s'agit d'une fonctionnalité exclusivement commerciale ). Alors pardonnez-moi si quelqu'un attendait.


Contenu pour aujourd'hui:



Nouveautés


Qt 5.11


Le 22 mai a publié Qt 5.11 .


Je ne peux pas mettre en évidence d'innovations particulièrement importantes, à l'exception du processus de compilation QML repensé , qui devrait améliorer considérablement les performances des applications Qt Quick:


Pipeline de compilateur QML


Également dans la version:



Qt 5.12


Le 6 décembre, Qt 5.12 (une revue de CTO ), une autre version de LTS qui sera prise en charge pendant 3 ans, a été publiée.


Amélioration des performances . Cela concerne principalement le moteur QML et JavaScript, qui sont désormais conformes à la norme ECMAScript 7 .


La sortie de Qt Remote Object - un mécanisme de communication interprocessus à la fois sur le même hôte et entre différents hôtes du réseau.


La sortie de Qt Quick WebGL , alias Qt WebGL streaming - c'est-à-dire la possibilité de traduire l'interface graphique d'une application s'exécutant sur un hôte distant ( appareil sans écran ) et de l'afficher dans un navigateur sur un ordinateur de bureau ou une tablette. À titre d'exemple, un Raspberry Pi avec une caméra, une application Qt diffuse l'interface graphique avec la sortie de la caméra, et tout est rendu dans le Safari habituel sur l'iPad:


Qt Quick WebGL


Chose très cool, je viens de jouer avec avec enthousiasme, mais franchement je ne peux pas imaginer qui va l'utiliser et pourquoi. Si le travail avec un appareil à partir d'un navigateur est déjà impliqué, alors pourquoi déranger l'interface graphique sur Qt Quick et la diffuser sur WebGL? N'est-ce pas plus facile que de simplement lancer un serveur Web normal sur l'appareil, et l'interface graphique client sera avec HTML / CSS / JS sans tout cela? Une caractéristique étrange, en général.


Qt Quick Controls 2 a enfin ajouté une TableView . Voici même une comparaison des performances de l'analogue de Qt Quick Controls 1. Malheureusement, il n'y a toujours aucune nouvelle concernant TreeView .


Les gestionnaires de pointeurs ont supprimé l'état de l'aperçu et ont été renommés gestionnaires d'entrée . Il s'agit d'un nouveau module de traitement des entrées de la souris, du clavier et de l'écran tactile. À cet égard, à un moment donné, vous devriez vous attendre à une «obsolescence» de MouseArea .


Dans Qt Virtual Keyboard, entre autres choses, de nouveaux langages sont ajoutés ainsi qu'un nouveau moteur d'écriture manuscrite - MyScript .


Qt for Device Creation a introduit les soi-disant packages de support de carte Qt . Ce sont les mêmes images et chaînes d'outils Yocto, seulement maintenant sous forme de téléchargement séparé et de connexion aux packages d'installation. Le sens de QBSP est de soutenir les partenaires-fournisseurs de fer afin qu'il soit plus pratique pour eux de créer et de distribuer des images Boot to Qt pour leurs appareils.


Le support Wayland se développe.


Mises à jour des outils


Créateur Qt


Pendant six mois, deux versions de Qt Creator ont été publiées: 4.7 et 4.8 .


Parmi les innovations les plus importantes - la prise en charge du Language Server Protocol , c'est-à-dire la possibilité d'étendre Qt Creator pour qu'il fonctionne avec davantage de langages de programmation. Dans le même temps, le QML "natif" n'est toujours pas à jour avec les dernières versions des modules à importer, c'est pourquoi ils doivent être triés avec un poke scientifique.


Dans la version 4.8 , le module de télémétrie devait également être ajouté, mais il n'est pas entré dans cette version, alors attendez-vous en 4.9.


Qt Design Studio


Le même projet semi-secret :



Comme vous le savez, Qt dispose d'un excellent outil pour créer des interfaces graphiques sur des widgets - Qt Designer . Vous pouvez l' .ui avec Qt Creator ( onglet Conception ) et en le lançant en tant qu'application autonome pour travailler avec des fichiers .ui .


Avec l'avènement de Qt Quick, l'outil Qt Quick Designer a été ajouté, qui ne peut plus être exécuté comme une application distincte, car il est cloué à mort par Qt Creator.


Et Qt Design Studio est le même Qt Quick Designer, mais avec des fonctionnalités supplémentaires. C'est également maintenant une application autonome, bien qu'il ne s'agisse en fait que d'une copie paralysée de Qt Creator, qui démarre immédiatement en mode de conception Qt Quick ( avec la possibilité de passer en mode d'édition QML ).



De la nouvelle fonctionnalité: une chronologie pour travailler avec des animations, des boîtes de dialogue pratiques pour configurer ces animations et un composant de prévisualisation en direct pour prévisualiser les modifications à la fois dans une fenêtre séparée et sur une tablette ou un autre appareil connecté. Remarquablement, il est peu probable que toutes ces choses reviennent à Qt Quick Designer.


Qt Design Studio est destiné aux concepteurs, et il est entendu qu'ils y créeront une conception d'application, transféreront le résultat ( fichiers .ui.qml ) aux développeurs, et les développeurs travailleront avec eux dans le Qt Creator complet.


Des plug-ins sont également en cours de développement pour les outils de conception populaires existants, afin que les concepteurs puissent exporter leurs expériences de ces outils vers QML. Le premier plugin a été créé pour Adobe Photoshop , le prochain devrait être plugin pour Sketch , puis Adobe XD et autres.


Je ne suis pas designer, il m'est donc difficile d'évaluer l'utilité de Qt Design Studio. Lorsqu'il n'y avait que des widgets dans Qt, je travaillais dans Qt Designer avec un plaisir mal caché, et c'est un excellent outil pour créer une interface graphique à ce jour. Lorsque Qt Quick est apparu, j'ai essayé plusieurs fois d'utiliser Qt Quick Designer, mais à la fin, j'ai quitté et j'ai simplement écrit QML, ce qui est plus pratique et plus rapide pour moi. Et puisque Qt Design Studio est presque ce que Qt Quick Designer est, personnellement, je ne l'utiliserai guère. Dans le même temps, pour autant que je sache, un certain nombre d'agences de design qui ont reçu Qt Design Studio pour un «essai routier» en parlent positivement.


En termes de licence, l'outil semble être déclaré en Open Source ( GPLv3 ), mais en même temps, il semble qu'une licence commerciale soit nécessaire pour distribuer les résultats du travail. Oui, et le téléchargement du programme d'installation n'est pas si facile, un compte Qt est requis. En général, les chefs de produit n'ont pas encore décidé.


Qt 3D Studio


Le développement de Qt 3D Studio se poursuit. Pendant ce temps, les versions 2.0 (un examen plus détaillé ), 2.1 et 2.2 ont été publiées .


Le changement le plus important est la transition du moteur NVIDIA DRIVE Design Studio d'origine à son propre moteur Qt 3D et une amélioration significative des performances .


Un plan pour combiner Qt 3D Studio et Qt Design Studio en un seul outil a également été décrit, c'est-à-dire qu'au lieu de deux, ce sera une application pour travailler avec 2D et 3D.


Annonce de Kuesa


En parlant de 3D, KDAB a publié ici sa solution pour travailler avec 3D - Kuesa .


Contrairement à Qt 3D Studio, ils n'ont pas dépensé de ressources pour leur propre outil de modélisation 3D, mais permettent aux concepteurs de travailler avec leurs outils habituels ( 3DS Max, Blender ), puis le développeur peut utiliser les modèles glTF exportés dans Qt. Pour plus de commodité, il existe également une application pour prévisualiser le modèle et les noms des composants, afin que le développeur sache comment y accéder dans son code sans ouvrir le modèle dans l'éditeur 3D d'origine.


À mon avis, Kuesa est une solution concurrente de Qt 3D Studio ( et, apparemment, plus réussie ), et cela est ennuyeux, car au lieu de faire la même chose en parallèle, ces efforts pourraient être consacrés à quelque chose de plus utile ( Je ne parle pas nécessairement de KDAB pour le moment ). Ici, en passant, on se rappellera que Qt 3D lui-même est également une contribution de KDAB .


PySide2 / Qt pour la version Python


PySide est de retour, renommé d'abord en PySide2 , puis en ennuyeux Qt pour Python .


La première version est venue avec Qt 5.11, mais elle n'était toujours pas considérée comme à part entière, mais juste l'autre jour, ils ont publié une version officielle avec Qt 5.12.


Il est peu probable que je puisse vous dire quelque chose de nouveau ici. Comme précédemment, PySide est la possibilité d'utiliser Qt ( principalement pour l'interface graphique ) à partir de Python. Il est distribué via PyPI , c'est-à-dire que Qt ne fait pas partie de l'installateur officiel et est installé séparément via pip . La prise en charge des plates-formes intégrées n'est pas encore disponible, bien qu'elle soit prévue.


Il n'y a pas de liste de différences avec PyQt , bien que les développeurs assurent que PySide est presque aussi bon que n'importe quoi et le dépassera bientôt. Du point de vue des licences commerciales, avec PySide tout compris est inclus dans le prix de la licence Qt sans frais supplémentaires, et avec PyQt vous devez toujours payer à Riverbank; du point de vue de l'Open Source, PySide est disponible sous GPLv3 et LGPLv3, tandis que PyQt est disponible uniquement sous GPLv3.


Portage supplémentaire vers le MCU


Le travail se poursuit sur le portage de Qt sur le matériel de niveau microcontrôleur. En plus de RTEMS , FreeRTOS ( qui a commencé à ressembler un peu mieux après qu'Amazon y ait ajouté un support POSIX ) et uClinux ont été testés, et jusqu'à présent, la conclusion est que nous recommandons toujours RTEMS.


En parlant d'appareils spécifiques, en plus du STM32F4 / F7, de bons résultats ont été obtenus sur le NXP i.MX RT1050 .


Refus de Qbs


Top 10 des trahisons de l'anime! Traître, sans déclarer la guerre, le blog officiel a annoncé l'abandon de Qbs .


En bref: le développement de Qbs est interrompu, bien qu'une autre version soit publiée, le support prendra fin fin 2019, qmake restera pour le moment, mais à l'avenir ( Qt 6 ), la transition vers CMake sera effectuée comme système de build principal.


Un post a collecté deux cents commentaires (un record pour notre blog ), et en aurait recueilli plus, mais les commentaires sur les posts sont automatiquement fermés deux semaines après leur publication. Ici, il y a encore des commentaires en russe.


En omettant la justification technique de la solution, le principal scandale a été provoqué par le fait que pendant plusieurs années, la communauté a été informée de la beauté de Qbs et de quel pas en avant, sans parler des assurances que ce sera le système de construction officiel de Qt 6 et que tout le monde doit y basculer ( et les gens encore commencé à bouger ), puis soudainement Qbs se ferme avec un jack aussi rapide.


Modifications des licences commerciales


Le contrat de licence commerciale a été mis à jour vers la version 4.1. Ajout d'une annexe avec une liste de logiciels sous licence / distribués.


Les conditions de licence pour les startups se sont considérablement améliorées: d'une part, ce n'est plus à prix réduit, mais généralement gratuit , et d'autre part, des composants de Device Creation sont également disponibles maintenant ( images prêtes à l'emploi basées sur Yocto Linux, kits d'outils pour la compilation croisée, etc.) e. ), cependant, pour distribuer des produits de périphérique d'exécution, vous devez toujours acheter (la logique est telle que s'il y a de l'argent pour le matériel, vous devez également trouver des temps d'exécution ).


Une licence de démarrage est délivrée pour un an et peut ensuite être prolongée d'un an. Légalement, il s'agit d'une licence commerciale à part entière sans avoir à se conformer à la GPL / LGPL. Après la première année ( ou deux ), il se transforme en une licence régulière à plein coût.


Les licences de démarrage ont les restrictions suivantes:


  • le revenu annuel de l'entreprise doit être inférieur à 100 000 $, sinon vous ne pouvez pas être considéré comme une startup;
  • Vous pouvez obtenir des licences pour un maximum de 3 développeurs;
  • le support technique est considérablement réduit: 5 tickets par mois et faible priorité dans la file d'attente.

Au fait, il est possible que seule la fille de la couverture de l'article examine votre demande de licence de démarrage.


Autres actualités


Cette année, le Qt World Summit s'est tenu deux fois: Boston puis à Berlin. Il n'y a pas encore d'enregistrements, il n'y a qu'une courte revue vidéo de Berlin et un article de KDAB .


La mise à jour des icônes d'application arrive:


Nouvelles icônes Qt


Comment allez vous Moi aussi. Et le plus important, d'où venait ce besoin de refonte, il n'y a pas si longtemps, il y en avait déjà un, et assez bon.


Forrester a mené une étude dans laquelle il a examiné l'impact de Qt sur une entreprise, toutes sortes d'indicateurs de ROI, et plus encore. Il semble que cela devrait aider les entreprises à évaluer les avantages de Qt et à décider d'une licence commerciale. Il existe même une calculatrice en ligne pour calculer les perroquets enregistrés.


C'est tout pour les nouvelles pour l'instant, le prochain numéro sera quelque part en mai ou comment suffisamment de matériel sera tapé.

Source: https://habr.com/ru/post/fr434338/


All Articles