Реліз фреймворку Qt 5.14 та середовища розробки Qt Creator 4.11.0

Після півроку розробки підготовлений реліз кросплатформового фреймворку Qt 5.14. Вихідні тексти компонентів Qt поставляються під ліцензіями LGPLv3 та GPLv2, інструменти Qt для розробників, такі як Qt Creator та qmake, а також деякі модулі поставляються під ліцензією GPLv3. Випуск Qt 5.14 ознаменував початок підготовки гілки Qt 6, у якій очікуються значні архітектурні зміни. Qt 6 намічений на кінець наступного року і для згладжування переходу на нову гілку попередні реалізації нововведень вирішено включити до складу випусків Qt 5.14 і Qt 5.15 LTS.

Основні нововведення:

  • У Qt Quick почалася робота з надання графічного API, що не залежить від 3D API операційної системи. Qt 5.14 запропонована попередня реалізація нового движка рендерингу сцен, що використовує новий прошарок RHI (Rendering Hardware Interface) для забезпечення роботи додатків Qt Quick не тільки поверх OpenGL, як було досі, але й використовуючи Vulkan, Metal та Direct 3D 11. В даний час новий движок запропонований у формі опції, що дозволяє підготувати додатки до переходу на Qt 6, в якому RHI буде застосовуватися для виведення стандартної графіки.
  • Реалізовано модуль Qt Quick Timeline, що спрощує анімацію властивостей за допомогою шкали часу та ключових кадрів. Модуль виділено з коду середовища розробки Qt Design Studio, яке надає редактор на основі шкали часу для створення анімації без написання коду.
  • Доданий експериментальний модуль Qt Quick 3D, що надає уніфікований API для створення інтерфейсів користувача на базі Qt Quick, що поєднують елементи 2D та 3D графіки. Новий API дозволяє використовувати QML для визначення 3D-елементів інтерфейсів без використання формату UIP. Модуль вирішує такі проблеми, як великі накладні витрати при інтеграції QML з контентом Qt 3D або 3D Studio, і надає можливість синхронізації анімації та перетворень на рівні окремих кадрів між 2D і 3D. У Qt Quick 3D для 2D і 3D можна використовувати один runtime (Qt Quick), один макет сцени та один анімаційний фреймворк, а для візуальної розробки інтерфейсу застосовувати Qt Design Studio.
  • Доданий WheelHandler, обробник подій колеса миші, а також подій для емулюваного тачпадом колеса.
  • Продовжено роботу з покращення роботи на екранах з високою щільністю пікселів. У тому числі додано можливість завдання дробових коефіцієнтів масштабування.
  • Додана можливість додавання колірних просторів для зображень, що дозволяє досягти коректної передачі кольору при виведенні зображень на відкаліброваних моніторах.
  • Додано простір імен QColorConstants, який на етапі компіляції дозволяє згенерувати екземпляри класу QColor з певною палітрою.
  • До компонентів Qt Widgets та Qt Quick для створення текстових редакторів додано підтримку читання та запису у форматі Markdown.
  • В API QCalendar реалізовано можливість роботи з календарями, відмінними від григоріанського.
  • Для Android додано підтримку збірок, що охоплюють кілька ABI, що дозволяє разом компілювати програму відразу для різних архітектур. Також додано підтримку формату пакетів AAB, що допускають постачання програми для всіх підтримуваних архітектур в одному архіві.
  • Проведено оптимізація продуктивності модуля Qt 3D, у тому числі модернізована робота з потоками, об'єктами фреймбуфера та системою повідомлень. У результаті вдалося знизити навантаження на CPU при малюванні кадру і підвищити ефективність синхронізації між потоками, що виконуються.
  • У модуль Qt Network додано API для налаштування параметрів HTTP/2 та моніторингу мережного підключення.
  • Web-движок Qt WebEngine оновлено до стану Chromium 77 і розширено новим API для керування життєвим циклом об'єкта QWebEnginePage.
  • Ліцензія на компоненти Qt Wayland Compositor, Qt Application Manager та Qt PDF змінено із LGPLv3 на GPLv3, тобто. зв'язування з новими випусками даних компонентів тепер потребує відкриття вихідних текстів програм під ліцензіями, сумісними з GPLv3, або придбання комерційної ліцензії (застосування LGPLv3 допускало зв'язування з пропрієтарним кодом).

Водночас сформований випуск інтегрованого середовища розробки Qt Creator 4.11.0, призначеної для створення кроссплатформенних програм з використанням бібліотеки Qt. Підтримується як розробка класичних програм мовою C++, і використання мови QML, у якому визначення сценаріїв використовується JavaScript, а структура і параметри елементів інтерфейсу задаються CSS-подібними блоками.

У новій версії Qt Creator додано експериментальну підтримку розробки додатків для мікроконтролерів та компіляції в WebAssembly, використовуючи модулі «Qt for MCUs» та «Qt for WebAssembly«. Для систем з
CMake 3.14 та новітніми версіями для налаштування та розбору проектів задіяний новий файловий API (/.cmake/api/). До редактора коду додано підтримку розширення протоколу Language Server для підсвічування семантики, а також спрощено налаштування Language Server для мови Python. До інтерфейсу додано опцію для зміни стилю позначки закінчення рядків. У Qt Quick Designer додано можливість редагування біндингу QML.

Джерело: opennet.ru

Додати коментар або відгук