19 червня Qt Company випустили Qt 5.13. Як завжди, релізи постачаються з новими функціями, оновленнями, виправленнями помилок та покращеннями. Qt 5.13 Qt Company також сфокусувалися на інструменті, який робить проектування, розробку та розгортання програмного забезпечення з Qt більш ефективним як для дизайнерів, так і для розробників. Давайте розглянемо деякі основні моменти Qt 5.13 і деякі оновлення в частині інструментів.
Qt для WebAssembly
Qt для WebAssembly дозволяє створювати програми Qt для веб-браузерів і тепер повністю підтримується. Qt для WebAssembly використовує Emscripten для компіляції програм Qt для веб-сервера, що дозволяє запускати власні програми в будь-якому браузері, що підтримує WebAssembly, без необхідності встановлення на стороні клієнта. Qt задає темп розробки C++ для WebAssembly, і Google нещодавно використовував Qt як приклад того, як запускати програми C++ у браузері на подію Google I/O'19.
Qt GUI
Qt GUI підсумовує класи для інтеграції віконної системи, обробки подій, інтеграції OpenGL та Open GLES, 2D-графіки, базових зображень, шрифтів та тексту.
Qt QML
Модуль Qt QML надає платформу для розробки гнучких інтерфейсів користувача на мові QML. Поліпшено підтримку перерахувань, оголошених у C++, JavaScript «null», оскільки значення прив'язки тепер оптимізується під час компіляції, а тепер QML генерує таблиці функцій у 64-бітових вікнах, що дозволяє розмотувати стек за допомогою функцій JITed.
Qt Quick і Qt Quick Controls 2
Стандартна бібліотека для написання програм QML і елементи керування інтерфейсом користувача для створення інтерфейсів користувача також отримали деякі оновлення. Додана підтримка TableView для приховування рядків і стовпців, а для Qt Quick Controls 2 доданий SplitView, елемент управління, який розміщує елементи по горизонталі або по вертикалі з роздільником, що перетягується між кожним елементом. Також додано властивість кешу в іконку.
Qt WebEngine
Qt WebEngine інтегрує швидкі веб-можливості Chromium у Qt, і його остання версія тепер заснована на Chromium 73. Додано перегляд PDF через внутрішнє розширення Chromium, сховище сертифікатів локального клієнта програми, підтримка сертифікатів клієнтів з QML, API веб-повідомлень специфічні для сторінки перехоплювачі запитів URL-адреси.
Мережа Qt
Qt Network надає набір API для програмних додатків, що використовують TCP/IP, та додано підтримку Secure Channel для сокетів SSL та підтримку зшивання OCSP. З Qt 5.13 тепер використовують OpenSSL 1.1 для підтримки SSL-з'єднань на Linux та Android.
Мультимедіа Qt
Надає багатий набір типів QML та класів C++ для обробки мультимедійного контенту. Також додано безперервне відтворення в QML VideoOutput, використовуючи властивість flushMode, підтримка GStreamer для Windows/macOS та заголовків HTTP та аудіо ролей для Android.
Qt KNX
Клієнтська сторона клієнта – підключення до KNXnet/IP сервера. Це з'єднання може використовуватися для надсилання повідомлень на шину KNX та для керування функціями пристроїв KNX, які зазвичай використовуються для автоматизації будівель. У Qt 5.13 модуль отримав захищений клієнтський API.
Qt OPC UA
Наступне покоління програм Industry 4.0, заснованих на архітектурі клієнт/сервер, отримало деякі оновлення. В основному, API C++ тепер повністю підтримується, та додано технічні попередні версії API QML та API C++ захищеного клієнта.
Qt CoAP (технічний попередній перегляд)
Qt CoAP (протокол обмежених програм) є реалізацією протоколу M2M на стороні клієнта для використання з обмеженими вузлами та мережами для Інтернету речей. У Qt 5.13 модуль отримав підтримку дейтаграми TLS (DTLS) UDP.