Випуск фреймворку Qt 5.6

Минулого, після дев'яти місяців розробки, вийшла версія 5.6 міжплатформового фреймворку Qt.

Qt дозволяє розробляти додатки за допомогою C++ і декларативної мови програмування QML, підтримує всі основні десктопні та мобільні платформи, а також деякі вбудовані і має відкритий вихідний код. Існує комерційна версія Qt, містить додаткові власні модулі.

Новий реліз приніс тривалий термін підтримки, нові експериментальні модулі (і видалення застарілих), підтримку нових платформ, а також новий тарифний план для стартапів у комерційної версії Qt.



Тривалої термін підтримки
Версія 5.6 є першим LTS-випуском у п'ятому Qt і буде підтримуватися і отримувати оновлення три роки, на відміну від звичайних випусків, у яких термін підтримки буде один рік. З урахуванням того, що підтримка попередньої LTS-версії 4.8 була припинена в кінці минулого року, рекомендується перехід на Qt 5.6.

Також, у наступних версіях планується прибрати підтримку застарілих компіляторів, в яких недостатньо реалізований функціонал C++11. Ті, кому важлива підтримка VS2008, VS2010 і gcc 4.6, зможуть залишитися на версії 5.6.

Ліцензія для стартапів
Для невеликих компаній з доходом до 100 000$ з'явилася нова ліцензія "Start-Up", яка прийшла на заміну Indie Mobile, продажі якої були припинені. Вартість ліцензії починається від 49$ (при покупці протягом двох місяців після випуску).

Нагадаю, що Qt 5.6 буде останнім минорным випуском, доступним під ліцензією LGPLv2.1. Починаючи з версії 5.7, буде використовуватися LGPL і GPL третьої версії.

Підтримка екранів з високою роздільною здатністю
У новій версії для всіх платформ з'явилася можливість автоматичного масштабування на екранах з високою роздільною здатністю (HiDPI), як це було раніше на MacOSX. При включенні масштабування, Qt буде автоматично підлаштовувати розміри графічних елементів і шрифтів, а також завантажувати зображення потрібного розміру. Масштабування також автоматично підлаштовується при переміщенні вікна між екранами з різною щільністю точок.

Нові модулі
Модуль Qt Location, що з'явився в минулому випуску як попередня версія, тепер входить до складу Qt. Додана попередня версія модуля Qt SerialBus, що дозволяє працювати з шинами CanBUS і ModBus.

Також до складу Qt 5.6 включена попередня версія модуля Qt Quick Controls 2.0 (Qt 5.6 він називається Qt Labs Controls), який є новою реалізацією бібліотеки компонентів для створення користувальницького інтерфейсу за допомогою Qt Quick. Нова версія більш легка і оптимізована для використання на вбудованих пристроях, побудована за принципом шаблонів, що дозволяють повністю змінити зовнішній вигляд компонентів і має, крім стандартної теми, підтримку стилів Material і Універсальний. Відео з конференції QtWS15, де показана рання версія Qt Quick Controls 2.0:

Зміни в існуючих модулях
  • Qt WebEngine движок Chromium оновлено до версії 45 і отримав підтримку плагінів PPAPI, таких як Flash. З Qt WebKit портований WebActions API і додано низькорівневий API WebEngineCore. Також з'явилася можливість використовувати системні налаштування проксі. Версія для Linux Qt WebEngine може бути зібрана з використанням системних бібліотек.

  • Покращено сумісність контейнерів з C++11 і STL: додано зворотні ітератори, key_iterator для QHash і QMap, а також const_iterator для QByteArray. Безліч поліпшень продуктивності в QString. QNetworkAccessManager отримав підтримку перенаправлення HTTP запитів.

  • Qt Multimedia з'явився новий QML-тип Playlist, а також Audio Role API для медіаплеєрів. На WinRT в роботі з камерою додана підтримка використання фокусу і попереднього перегляду відео.

  • Qt QML отримав підтримку запису імен JavaScript-функцій висновок для планувальника perf на Linux, а також зменшене споживання пам'яті.

  • Qt 3D Canvas тепер може використовувати компоненти, засновані на Item з Qt Quick в якості текстури, а також підтримує рендеринг на пряму в сцену Qt Quick.

  • Qt Virtual Keyboard з'явилося розпізнавання рукописного введення.

  • Модуль Qt 3D отримав значну кількість поліпшень і в цьому випуску також поставляється як попередня версія.
Видалені застарілі модулі
Модуль Qt Script оголошено застарілим і користувачам рекомендується перейти на Qt QML. Також застарілим оголошено Qt Enginio. Модулі Qt Webkit та Qt Quick 1 (Qt Declarative) видалені з поставки. Крім цього, з міркувань безпеки, офіційні випуски збираються без підтримки форматів зображень MNG і JPEG2000. При необхідності, Qt може бути зібрана з исходников з включенням підтримки форматів даних.

Підтримка платформ
  • У версії 5.6 включена повноцінна підтримка Windows 10, як з використанням win32 API, так і WinRT. Додатки на Qt можуть запускатися на ПК, планшети і телефони, а також поширюватися через Windows Store. Стали доступні бінарні збірки для Visual Studio 2015. Також додалася підтримка Windows Embedded Compact 2013. На платформі WinRT з'явився Qt WebView.

  • Qt 5.6 for Device Creation з'явилася можливість розробки і розгортання прямо з під Windows. В стеку Boot to Qt покращена сумісність із системами на основі Yocto.

  • Додана підтримка NVIDIA Jetson TK1 з використання нового eglfs-бек-ендом, використовує DRM, EGLDevice і EGLStream. також додана підтримка Intel NUC. Повний список вбудованих платформ можна подивитися тут.

  • Android отримав підтримку Qt Nfc. На MacOSX з'явилася підтримка Qt Positioning і опціональна можливість використання FreeType.

  • На Linux з'явилася можливість запису логів безпосередньо в syslog.
Зміни в інфраструктурі
При розробці нової версії, на заміну попередньої системи безперервної інтеграції на основі Jenkins, була введена введена в дію нова CI-система власної розробки — COIN. Нова система дозволила підвищити швидкість тестування та інтеграції змін до Qt. Крім цього, COIN дозволяє використовувати різний набір платформ для різних гілок Qt. Ще однією перевагою є те, що більшість бінарних збірок тепер збирається на таких системах, на яких і тестується, тобто тестуються саме ті збірки, які в наслідку і випускаються.

Додаткова інформація


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.