Qt News, Mai 2018 - Dezember 2018

Eine weitere Qt-News-Zusammenstellung, diesmal in den letzten sechs Monaten nach dem letzten Artikel . Releases 5.11 und 5.12, die Reinkarnation von PySide, die plötzliche Beerdigung von Qbs, die Veröffentlichung von Qt Design Studio und eine signifikante Verbesserung der Lizenzbedingungen für Startups.


DDPV


Ich habe mir keinen interessanten KPVD ausgedacht, weil ich stattdessen nur einen KDV bekommen habe - es war ein Fotograf, der im Sommer zu einem Unternehmensfoto-Shooting in unser Büro kam, von dem ich ein Foto meines Kollegen abgeschnitten habe.


Beginnen wir mit gebrochenen Versprechungen. Am Ende des vorherigen Artikels wurden zwei Stimmen abgegeben: für die Übertragung eines Beitrags aus dem offiziellen Blog über die Portierung von Qt auf Mikrocontroller und für das Schreiben einer Safe Renderer- Bewertung. Die Abstimmung ergab, dass beide Artikel eine Veröffentlichung verdienen. Der Autor weigerte sich jedoch, den Artikel über UFO-Mikrocontroller zu veröffentlichen: " Veröffentlichungen mit Werbeart außerhalb des Unternehmensblogs und des Hubs" I PR "sind nach den Regeln der Website verboten. " Es ist schwierig zu sagen, was genau dort Werbung war ( Sie können das englische Original sehen und bewerten ), aber in diesem Fall war es sinnlos, Safe Renderer auszuprobieren ( da es sich um eine ausschließlich kommerzielle Funktion handelt ). Also vergib mir, wenn jemand wartet.


Inhalt für heute:



Neuerscheinungen


Qt 5.11


22. Mai veröffentlicht Qt 5.11 .


Ich kann keine besonders bedeutenden Neuerungen hervorheben, außer dem neu gestalteten QML-Kompilierungsprozess, der die Leistung von Qt Quick-Anwendungen erheblich verbessern sollte:


QML-Compiler-Pipeline


Auch in der Veröffentlichung:



Qt 5.12


Am 6. Dezember wurde Qt 5.12 (eine Überprüfung von CTO ) veröffentlicht, eine weitere LTS-Version, die drei Jahre lang unterstützt wird.


Verbesserte Leistung . Dies betrifft hauptsächlich die QML-Engine und JavaScript, die jetzt dem ECMAScript 7-Standard entsprechen .


Die Veröffentlichung von Qt Remote Object - ein Mechanismus für die Interprozesskommunikation sowohl auf demselben Host als auch zwischen verschiedenen Hosts im Netzwerk.


Die Veröffentlichung von Qt Quick WebGL , auch bekannt als Qt WebGL-Streaming, dh die Möglichkeit, die GUI einer Anwendung, die auf einem Remote-Host ( Gerät ohne Anzeige ) ausgeführt wird, zu übersetzen und in einem Browser auf einem Desktop oder Tablet anzuzeigen. Beispielsweise überträgt ein Raspberry Pi mit einer Kamera, eine Qt-Anwendung die grafische Benutzeroberfläche zusammen mit der Kameraausgabe, und alles wird in der üblichen Safari auf dem iPad gerendert:


Qt Quick WebGL


Sehr coole Sache, ich habe nur mit Begeisterung damit gespielt, aber ehrlich gesagt kann ich mir nicht vorstellen, wer es benutzen wird und warum. Wenn die Arbeit mit einem Gerät über einen Browser bereits impliziert ist, warum dann die GUI von Qt Quick stören und an WebGL streamen? Ist es nicht einfacher, nur einen normalen Webserver auf dem Gerät zu starten, und die Client-GUI wird ohne all dies mit HTML / CSS / JS arbeiten? Ein seltsames Merkmal im Allgemeinen.


Qt Quick Controls 2 hat endlich eine TableView hinzugefügt. Hier ist sogar ein Vergleich der Leistung des Analogs von Qt Quick Controls 1. Leider gibt es noch keine Neuigkeiten über TreeView .


Zeigerhandler haben den Vorschaustatus gelöscht und in Eingabehandler umbenannt . Dies ist ein neues Modul zur Verarbeitung von Eingaben über Maus, Tastatur und Touchscreen. In dieser Hinsicht sollten Sie irgendwann mit einer "Veralterung" von MouseArea rechnen .


In Qt Virtual Keyboard werden unter anderem neue Sprachen sowie eine neue Handschrift-Engine hinzugefügt - MyScript .


Qt for Device Creation führte die sogenannten Qt Board Support Packages ein . Dies sind die gleichen Yocto-Images und Toolchains, nur jetzt in Form von separat heruntergeladenen und mit den Installationspaketen verbundenen. Die Bedeutung von QBSP besteht darin, Partner von Hardwareanbietern dabei zu unterstützen, ihnen das Erstellen und Verteilen von Boot-to-Qt-Images für ihre Geräte zu erleichtern.


Die Unterstützung von Wayland entwickelt sich.


Tool-Updates


Qt Schöpfer


Für sechs Monate wurden zwei Versionen von Qt Creator veröffentlicht: 4.7 und 4.8 .


Zu den wichtigsten Neuerungen gehört die Unterstützung des Language Server Protocol , dh die Möglichkeit, Qt Creator zu erweitern, um mit mehr Programmiersprachen zu arbeiten. Gleichzeitig ist die "native" QML immer noch nicht auf dem neuesten Stand der neuesten Versionen von Modulen für den Import, weshalb sie mit einem wissenschaftlichen Poke aussortiert werden müssen.


In Version 4.8 sollte auch das Telemetriemodul hinzugefügt werden, aber es wurde nicht in diese Version aufgenommen, also erwarten Sie in 4.9.


Qt Design Studio


Das gleiche halbgeheime Projekt :



Wie Sie wissen, bietet Qt ein großartiges Tool zum Erstellen von GUIs für Widgets - Qt Designer . Sie können damit sowohl über Qt Creator ( Registerkarte Design ) als auch durch Starten als eigenständige Anwendung für die Arbeit mit .ui Dateien arbeiten.


Mit dem Aufkommen von Qt Quick wurde das Qt Quick Designer- Tool hinzugefügt, das nicht mehr als separate Anwendung ausgeführt werden kann, da es von Qt Creator zu Tode genagelt wird.


Und Qt Design Studio ist der gleiche Qt Quick Designer, jedoch mit zusätzlichen Funktionen. Es ist jetzt auch eine eigenständige Anwendung, obwohl es sich tatsächlich nur um eine verkrüppelte Kopie von Qt Creator handelt, die sofort im Qt Quick-Entwurfsmodus startet ( mit der Möglichkeit, in den QML-Bearbeitungsmodus zu wechseln ).



Aus der neuen Funktionalität: eine Zeitleiste für die Arbeit mit Animationen, praktische Dialoge zum Einrichten dieser Animationen und eine Live-Vorschau-Komponente für die sofortige Vorschau von Änderungen in einem separaten Fenster und auf einem angeschlossenen Tablet oder einem anderen Gerät. Bemerkenswerterweise werden all diese Dinge wahrscheinlich nie wieder zu Qt Quick Designer zurückkehren.


Qt Design Studio ist für Designer gedacht, und es versteht sich, dass sie darin ein Anwendungsdesign erstellen, das Ergebnis ( .ui.qml Dateien ) an Entwickler übertragen und Entwickler im vollständigen Qt Creator mit ihnen arbeiten.


Plug-Ins werden auch für vorhandene beliebte Designtools entwickelt, damit Designer ihre Erfahrungen mit diesen Tools in QML exportieren können. Das erste Plugin wurde für Adobe Photoshop erstellt , das nächste Plugin für Sketch , dann Adobe XD und andere.


Ich bin kein Designer, daher fällt es mir schwer, den Nutzen von Qt Design Studio zu bewerten. Als es in Qt nur Widgets gab, arbeitete ich in Qt Designer mit wenig verstecktem Vergnügen, und dies ist bis heute ein großartiges Werkzeug zum Erstellen einer GUI. Als Qt Quick erschien, habe ich mehrmals versucht, Qt Quick Designer zu verwenden, aber am Ende habe ich QML beendet und einfach geschrieben, was für mich bequemer und schneller ist. Und da Qt Design Studio fast das ist, was Qt Quick Designer ist, werde ich es persönlich kaum verwenden. Gleichzeitig sprechen meines Wissens eine Reihe von Designagenturen, die Qt Design Studio für eine „Probefahrt“ erhalten haben, positiv darüber.


In Bezug auf die Lizenzierung scheint das Tool in Open Source ( GPLv3 ) deklariert zu sein, gleichzeitig scheint jedoch eine kommerzielle Lizenz erforderlich zu sein, um die Arbeitsergebnisse zu verbreiten. Ja, und das Herunterladen des Installationsprogramms ist nicht so einfach. Ein Qt-Konto ist erforderlich. Im Allgemeinen haben sich Produktmanager noch nicht entschieden.


Qt 3D Studio


Die Entwicklung von Qt 3D Studio wird fortgesetzt. Während dieser Zeit wurden die Versionen 2.0 (eine detailliertere Überprüfung ), 2.1 und 2.2 veröffentlicht .


Die wichtigste Änderung ist der Übergang von der ursprünglichen NVIDIA DRIVE Design Studio-Engine zu einer eigenen Qt 3D-basierten Engine und eine signifikante Leistungsverbesserung .


Es wurde auch ein Plan für die Kombination von Qt 3D Studio und Qt Design Studio in einem einzigen Tool skizziert, dh anstelle von zwei wird es eine Anwendung für die Arbeit mit 2D und 3D sein.


Ankündigung von Kuesa


Apropos 3D: Hier hat KDAB seine Lösung für die Arbeit mit 3D - Kuesa veröffentlicht .


Im Gegensatz zu Qt 3D Studio haben sie keine Ressourcen für ihr eigenes Tool für die 3D-Modellierung ausgegeben , sondern es Designern ermöglicht, mit ihren üblichen Tools ( 3DS Max, Blender ) zu arbeiten. Anschließend kann der Entwickler die exportierten glTF- Modelle in Qt verwenden. Der Einfachheit halber gibt es auch eine Anwendung zur Vorschau des Modells und der Namen von Komponenten, sodass der Entwickler weiß, wie er in seinem Code darauf zugreifen kann, ohne das Modell im ursprünglichen 3D-Editor zu öffnen.


Meiner Meinung nach ist Kuesa eine konkurrierende Qt 3D Studio-Lösung ( und anscheinend erfolgreicher ), und dies ist ärgerlich, da diese Bemühungen nicht parallel ausgeführt werden könnten, sondern für etwas Nützlicheres ( Ich spreche momentan nicht unbedingt über KDAB . Hierbei wird übrigens daran erinnert, dass Qt 3D selbst auch ein Beitrag von KDAB ist .


PySide2 / Qt für Python Release


PySide ist zurück, zuerst in PySide2 und dann in langweiliges Qt für Python umbenannt .


Die erste Veröffentlichung kam mit Qt 5.11, wurde aber immer noch nicht als vollwertig angesehen, aber erst neulich veröffentlichten sie eine offizielle Veröffentlichung zusammen mit Qt 5.12.


Es ist unwahrscheinlich, dass ich Ihnen hier etwas Neues erzählen kann. Nach wie vor ist PySide die Möglichkeit, Qt ( hauptsächlich für die GUI ) von Python zu verwenden. Es wird über PyPI verteilt, dh Qt ist nicht Teil des offiziellen Installationsprogramms und wird separat über pip installiert. Unterstützung für eingebettete Plattformen ist noch nicht verfügbar, obwohl dies geplant ist.


Es gibt keine Liste von Unterschieden zu PyQt , obwohl die Entwickler versichern, dass PySide fast so gut wie alles ist und es bald übertreffen wird. Unter dem Gesichtspunkt der kommerziellen Lizenzierung ist PySide All-Inclusive ohne zusätzliche Kosten im Preis der Qt-Lizenz enthalten, und mit PyQt müssen Sie immer noch am Flussufer bezahlen. Aus Sicht von Open Source ist PySide sowohl unter GPLv3 als auch unter LGPLv3 verfügbar, während PyQt nur unter GPLv3 verfügbar ist.


Weitere Portierung zur MCU


Die Arbeiten zur Portierung von Qt auf die Hardware auf Mikrocontroller-Ebene werden fortgesetzt. Zusätzlich zu RTEMS wurden FreeRTOS ( das etwas besser aussah, nachdem Amazon dort einige POSIX-Unterstützung hinzugefügt hatte ) und uClinux getestet. Bisher ist die Schlussfolgerung, dass wir RTEMS weiterhin empfehlen.


In Bezug auf bestimmte Geräte wurden neben STM32F4 / F7 gute Ergebnisse mit dem NXP i.MX RT1050 erzielt .


Ablehnung von Qbs


Top 10 Verrat im Anime! Verräterisch, ohne den Krieg zu erklären, kündigte der offizielle Blog die Aufgabe von Qbs an .


Kurz gesagt: Die Entwicklung von Qbs wird eingestellt, obwohl eine weitere Version veröffentlicht wird. Die Unterstützung wird Ende 2019 enden. Qmake wird vorerst bestehen bleiben. In Zukunft ( Qt 6 ) wird der Übergang zu CMake als Haupt-Build-System durchgeführt.


Ein Beitrag hat zweihundert Kommentare gesammelt (ein Datensatz für unseren Blog ) und hätte mehr gesammelt, aber Kommentare zu Beiträgen werden zwei Wochen nach Veröffentlichung automatisch geschlossen. Hier gibt es noch Kommentare in russischer Sprache.


Ohne die technische Begründung für die Lösung wurde die größte Empörung durch die Tatsache verursacht, dass der Community mehrere Jahre lang erzählt wurde, wie schön Qbs ist und was für ein Fortschritt, ganz zu schweigen von der Zusicherung, dass dies das offizielle Build-System in Qt 6 sein wird und jeder darauf umsteigen muss ( und die Menschen) begann sich immer noch zu bewegen ) und dann schließt Qbs plötzlich mit einem so schnellen Wagenheber.


Änderungen der kommerziellen Lizenzierung


Die kommerzielle Lizenzvereinbarung wurde auf Version 4.1 aktualisiert. Anhang mit einer Liste der lizenzierten / verteilten Software hinzugefügt.


Die Lizenzbedingungen für Startups haben sich erheblich verbessert: Erstens gibt es jetzt keinen Rabatt, aber im Allgemeinen kostenlos , und zweitens sind jetzt auch Komponenten von Device Creation verfügbar ( vorgefertigte Images auf Basis von Yocto Linux, Toolkits für Cross-Compilation usw.). e. ) Um jedoch Laufzeitgeräteprodukte zu vertreiben, müssen Sie noch kaufen (die Logik ist so, dass Sie, wenn Geld für Hardware vorhanden ist, auch Laufzeiten finden müssen ).


Eine Startlizenz wird für ein Jahr ausgestellt und kann dann um ein weiteres Jahr verlängert werden. Rechtlich gesehen ist dies eine vollwertige kommerzielle Lizenz, ohne dass die GPL / LGPL eingehalten werden muss. Nach dem ersten ( oder zweiten) Jahr wird daraus eine reguläre Lizenz zum vollen Preis.


Startlizenzen unterliegen den folgenden Einschränkungen:


  • Das Jahreseinkommen des Unternehmens sollte weniger als 100.000 US-Dollar betragen, andernfalls qualifizieren Sie sich nicht als Startup.
  • Sie können Lizenzen für maximal 3 Entwickler erhalten.
  • Der technische Support ist stark reduziert: 5 Tickets pro Monat und niedrige Priorität in der Warteschlange.

Übrigens ist es möglich, dass nur das Mädchen vom Cover des Artikels Ihren Antrag auf eine Startlizenz berücksichtigt.


Andere Neuigkeiten


In diesem Jahr fand der Qt World Summit zweimal statt: in Boston und dann in Berlin. Es gibt noch keine Aufnahmen, es gibt nur eine kurze Video-Rezension von Berlin und einen Beitrag von KDAB .


Das Update der Anwendungssymbole kommt:


Neue Qt-Symbole


Wie gefällt es dir? Mir auch. Und vor allem, woher dieses Bedürfnis nach Neugestaltung kam, gab es vor nicht allzu langer Zeit bereits eine und ziemlich gute.


Forrester führte eine Studie durch, in der die Auswirkungen von Qt auf ein Unternehmen, alle Arten von ROI-Indikatoren und mehr untersucht wurden. Dies sollte Unternehmen anscheinend dabei helfen, die Vorteile von Qt zu bewerten und sich für eine kommerzielle Lizenz zu entscheiden. Es gibt sogar einen Online-Rechner zur Berechnung geretteter Papageien.


Das ist alles mit den Nachrichten für den Moment, die nächste Ausgabe wird irgendwo im Mai sein oder wie viel Material getippt wird.

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


All Articles