📜 ⬆️ ⬇️

Qt News, May 2018 - December 2018

Another collection of Qt news, this time over the past six months from the last article . Releases 5.11 and 5.12, PySide reincarnation, Qbs sudden burial, Qt Design Studio release and a significant improvement in license conditions for startups.


DDPV


I did not come up with an interesting KDPV, because instead of it just the DDPV - this was the summer when a photographer came to our office for a corporate photo session, from which I cropped a photo of a colleague.


Let's start with broken promises. At the end of the previous article, two votes were posted: for transferring a post from the official blog about porting Qt to microcontrollers and for writing a review of Safe Renderer , and a vote showed that both articles deserve publication. But the author refused to place the UFO microcontroller article: “ Advertising publications outside the corporate blog and the hub“ I am promoting ”are prohibited by the site rules ”. It is difficult to say what exactly was the advertising ( you can see the English original and evaluate it ), but in that case there was not even a sense to try Safe Renderer ( because it is an exclusively commercial feature ). So forgive me if someone waited.


Content for today:



New releases


Qt 5.11


On May 22, Qt 5.11 was released .


I can not single out any particularly significant innovations, except for the revised QML compilation process, which should significantly improve the performance of Qt Quick applications:


QML compiler pipeline


Also in the release:



Qt 5.12


On December 6, Qt 5.12 ( review from CTO ) was released, the next LTS release, which will be supported for 3 years.


Improved performance . This mainly concerns the QML and JavaScript engine, which now complies with the ECMAScript 7 standard .


The Qt Remote Object release is an interprocess communication mechanism both on the same host and between different hosts on the network.


The Qt Quick WebGL release, also known as Qt WebGL streaming, is the ability to broadcast a GUI application running on a remote host ( device without a display ) and display it in a browser on a desktop or tablet. As an example, a Raspberry Pi with a camera, a Qt application streaming a GUI along with the output of a camera, and everything is rendered in an ordinary Safari on an iPad:


Qt Quick WebGL


Very cool thing, I just played with delight with her, but frankly, I can not imagine who and why will use it. If this means working with a device from a browser, then why make a GUI on Qt Quick and stream it to WebGL? Isn't it easier then just to start a normal web server on the device, and the client GUI will be with HTML / CSS / JS without all this? Strange feature in general.


In Qt Quick Controls 2, finally added a TableView . Here is even a comparison of the performance of analog from Qt Quick Controls 1. Unfortunately, there is still no news about TreeView .


Pointer Handlers out of the status of a preview and renamed Input Handlers . This is a new module for handling input from the mouse, keyboard and touchscreen. In this regard, at some point we should expect the "obsolescence" of the MouseArea .


In Qt Virtual Keyboard, among other things, added new languages ​​as well as a new handwriting engine - MyScript .


Qt for Device Creation features the so-called Qt Board Support Packages . These are the same Yocto images and toolchains, only now in the form of separately downloaded and connected packages to the installer. The meaning of QBSP is to support hardware vendors to make it easier for them to create and distribute Boot to Qt images for their devices.


Wayland support is developing.


Tool updates


Qt creator


For half a year two versions of Qt Creator came out: 4.7 and 4.8 .


Among the most significant innovations is Language Server Protocol support, that is, the ability to extend Qt Creator to work with more programming languages. At the same time, the "native" QML is still not aware of the latest versions of modules for import, because of which they have to sort out the scientific tyk.


In version 4.8 , the telemetry module was also to be added, but it did not get into this release, so expect in 4.9.


Qt Design Studio


The same semi-secret project :



As you know, Qt has a great tool for creating GUIs in Widgets - Qt Designer . You can work with it from Qt Creator (the Design tab ), or by running it as a standalone application for working with .iu files.


With the advent of Qt Quick, the Qt Quick Designer tool has been added, which can no longer be run as a separate application, as it is nailed to death with Qt Creator.


And here Qt Design Studio is the same Qt Quick Designer, but with additional functionality. It is also now a standalone application, although in fact it is just a crippled copy of Qt Creator, which runs immediately in Qt Quick design mode ( with the ability to switch to QML editing mode ).



From the new functional: timeline for working with animations, convenient dialogs for setting up these animations and live-preview components for previewing changes on the fly both in a separate window and on an attached tablet or other device. It is noteworthy that all these things are unlikely to ever fall back into Qt Quick Designer.


Qt Design Studio is designed for designers, and it is assumed that they will create an application design in it, transfer the result ( .ui.qml files ) to the developers, and the developers will work with them in the full Qt Creator.


Also, plug-ins are being developed for existing popular design tools, so that designers can export their work from these tools to QML. The first was created plug-in for Adobe Photoshop , the next is expected plug-in for Sketch , then Adobe XD and others.


I am not a designer, because it is difficult for me to evaluate the usefulness of Qt Design Studio. When Qt had only Widgets, I worked with Qt Designer with ill-concealed pleasure, it is a great GUI tool to this day. When Qt Quick appeared, I tried several times to use Qt Quick Designer, but in the end I quit and just write QML, which is more convenient and faster for me. And since Qt Design Studio is almost like Qt Quick Designer, I personally will hardly use it. At the same time, as far as I know, a number of design agencies that have received a “test drive” from Qt Design Studio speak positively about it.


In terms of licensing, the tool is sort of like stated in Open Source ( GPLv3 ), but at the same time it seems like a commercial license is required to distribute the results of the work. Yes, and simply download the installer is not so easy, you need to have a Qt Account . In general, product managers have not yet fully decided.


Qt 3D Studio


The development of Qt 3D Studio continues. During this time, versions 2.0 (a more detailed review ), 2.1 and 2.2 have been released .


The most significant change is the transition from the original NVIDIA DRIVE Design Studio engine to its own Qt 3D-based engine and a significant performance improvement .


The plan for combining Qt 3D Studio and Qt Design Studio into a single tool was also indicated, that is, instead of two, this would be one application for working with 2D and 3D.


Kuesa Announcement


Speaking of 3D, here KDAB released their solution for working with 3D - Kuesa .


Unlike Qt 3D Studio, they did not waste resources on their own 3D modeling tool, but allow designers to work with their usual tools ( 3DS Max, Blender ), and then the developer can use exported glTF models in Qt. For convenience, there is also an application for previewing the model and the names of the components so that the developer knows how to access them in his code, without opening the model in the original 3D editor.


In my opinion, Kuesa is a competing solution to Qt 3D Studio ( and apparently more successful ), and this is annoying, because instead of doing the same thing in parallel, these efforts could be spent on something more useful ( I now not necessarily about KDAB ). By the way, it will remind you that Qt 3D itself is also a contribution from KDAB .


PySide2 / Qt for Python release


PySide came back, renamed PySide2 first, and then boring Qt for Python .


The first release came out with Qt 5.11, but it was still not considered as full-fledged, but just the other day the official release was released along with Qt 5.12.


I can hardly tell something new here. As before, PySide is the ability to use Qt ( mainly for GUI ) from Python. It is distributed via PyPI , that is, it is not included in the Qt installer, and is installed separately via pip . Support for embedded platforms is not yet available, although it is planned.


There is no list of differences from PyQt , although the developers assure that PySide is almost in no way inferior, and soon it will also be superior. From the point of view of commercial licensing, with PySide "all inclusive" in the price of a Qt license at no extra charge, and with PyQt you still have to pay at Riverbank; in terms of Open Source, PySide is available under both GPLv3 and LGPLv3, while PyQt is available only under GPLv3.


Further porting to MCU


Work continues on porting Qt to the microcontroller-level hardware. In addition to RTEMS , FreeRTOS ( which began to look a little better after Amazon added some support for POSIX ) and uClinux were tested, and for now the conclusion is that we still recommend RTEMS.


Speaking of specific devices, in addition to the STM32F4 / F7, we managed to achieve good results on the NXP i.MX RT1050 .


Rejection of qbs


Top 10 betrayals in anime! Treacherously, without a declaration of war, the official blog was declared a refusal of Qbs .


In short: development of Qbs stops, although another release will be released, support will end at the end of 2019, qmake will remain, but in the future ( Qt 6 ) the transition will be made to CMake as the main assembly system.


The post has collected two hundred comments (a record for our blog ), and would have collected more, but comments to posts are automatically closed two weeks after publication. Here still there are comments in Russian.


Omitting the technical rationale for the decision, the main outrage was caused by the fact that for several years the community had been telling about how Qbs is beautiful and what a step forward, not to mention assurances that this would be the official build system in Qt 6 and everyone needs to go on it still started to move ), and then suddenly Qbs closes with such a fast jack.


Changes in commercial licensing


The commercial license agreement was updated to version 4.1. An appendix with listing of licensed / distributed software was added.


The license conditions for startups have significantly improved: firstly, it is no longer discounted, but generally free , and secondly, components from Device Creation are also available ( ready-made Yocto Linux-based images, cross-compilation tools, etc.) e. ), however, to distribute product-devices, runtime will still need to be bought (the logic is that if you have money for hardware, you should also find it on runtime ).


The license for start-ups is issued for a year and can then be extended for another year. Legally, this is a full-fledged commercial license without the need to comply with the requirements of the GPL / LGPL. After the first year ( or two ), it turns into a regular license at full price.


Startup licenses have the following restrictions:



By the way, it is possible that your application for a start-up license will be considered just by the girl from the cover of the article.


Other news


This year, the Qt World Summit was held twice: Boston and then in Berlin. There are no recordings of speeches yet, there is only a short video review of Berlin and a post from KDAB .


Coming update application icons:


New Qt Icons


How do you? Me too. And most importantly, whence again this need for redesign, not so long ago there was already one, and quite good one.


Forrester conducted a study in which it examined the impact of Qt on the business, ROI performance indicators there, and so on. It seems like this should help companies assess the benefits of Qt and decide on the acquisition of a commercial license. There is even an online calculator for calculating saved parrots.


On this with the news for now everything, the next issue will be somewhere in May or how enough material will be gathered.


')

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


All Articles