Релиз фреймворка Qt 5.8
Опубликовано 23 Январь 2017 13:21:25
После полугода разработки состоялся релиз кроссплатформенного фреймворка Qt 5.8, продолжившего развитие ветки Qt 5.x. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3. Выпуск примечателен началом реализации идей, предложенных в рамках инициативы Qt Lite, нацеленной на предоставление возможности формирования сборок Qt, содержащих только необходимые компоненты.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45901
Основные изменения:
- Включены наработки по обеспечению гранулированной сборки, позволяющие собирать модули, выборочно активируя только необходимую функциональность. Отныне Qt позволяет не только манипулировать подключением отдельных модулей, но и управлять составом модулей. Отключённая функциональность не включается в сборку, что позволяет создавать урезанные конфигурации, пригодные для использования на встраиваемых системах с ограниченным размером оперативной памяти и хранилища. По предварительным оценкам по сравнению с Qt 5.6 новая система сборки позволяет уменьшить размер статически связанного приложения Qt Quick более чем на 60%;
- С целью избавления Qt Quick от привязки к OpenGL и обеспечения независимости от графического API значительно переработана архитектура графической подсистемы, что дало возможность применения эффективных программных методов отрисовки на системах, не поддерживающих OpenGL. Кроме программной отрисовки (QT_QUICK_BACKEND=software) также подготовлен бэкенд для DirectX 12 (QT_QUICK_BACKEND=d3d12). Функциональность модуля Qt Quick 2D Renderer интегрирована в Qt Declarative;
- В движке выполнения QML реализована новая инфраструктура кэширования, позволяющая кэшировать QML-файлы в предкомпилированном бинарном представлении. Кэширование дало возможность значительно ускорить повторную загрузку QML-приложений и сократить потребление памяти. Поддержка упреждающей компиляции Qt Quick будет продолжена в рамках коммерческого продукта Qt Quick Compiler;
- В Qt Quick Controls 2 добавлены новые QML-типы Dialog, DialogButtonBox, MenuSeparator, RoundButton и ToolSeparator, а также экспериментальные типы MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog и FolderDialog;
- Обработка событий мыши и тачпада унифицирована и перенесена в единый класс QQuickPointerEvent;
- Браузерный движок Qt Webengine синхронизирован с кодовой базой Chromium 53. Добавлены средства для вывода web-страниц на печать и обеспечена возможность использования QML API для определения собственных вариантов диалогов, контекстных меню и всплывающих подсказок. Также добавлен интерфейс для просмотра исходного текста страницы (view-source:) и некоторые обработчики URL "chrome:";
- Переведены в разряд полностью поддерживаемых некоторые модули, ранее помеченные как экспериментальные (Technology Preview):
- Wayland Compositor - многопоточная система отрисовки для встраиваемых устройств, использующая протокол Wayland. Модуль может использоваться для создания собственных композитных серверов Wayland, применяя QML или C++ API. Имеется поддержка стандарта XDG-Shell и возможность работы в системах с несколькими экранами. В качестве примера применения Qt Wayland Compositor развивается рабочий стол Grefsen;
- SCXML - фреймворк с реализацией State Chart API;
- Serial Bus - модуль для для организации доступа приложений к различным промышленным интерфейсам при помощи шин CANBus и ModBus;
- Wayland Compositor - многопоточная система отрисовки для встраиваемых устройств, использующая протокол Wayland. Модуль может использоваться для создания собственных композитных серверов Wayland, применяя QML или C++ API. Имеется поддержка стандарта XDG-Shell и возможность работы в системах с несколькими экранами. В качестве примера применения Qt Wayland Compositor развивается рабочий стол Grefsen;
- В состав включён экспериментальный модуль Qt Speech, предоставляющий средства для синтеза речи. Речевое сопровождение может применяться для повышения доступности приложений для людей с ограниченными возможностями или для реализации новых средств фонового информирования пользователя, что особенно востребовано для вывода уведомлений в приложениях для автомобильных информационно-развлекательных систем. В Linux преобразование текста в речь осуществляется при помощи библиотеки Speech Dispatcher (libspeechd), а на других платформах через штатный API операционной системы;
- Добавлен экспериментальный модуль Qt Network Authentication с реализаций протоколов аутентификации OAuth 1 и OAuth 2;
- В модули Qt Network и Web Sockets добавлена полноценная поддержка наборов шифров TLS PSK. В Qt Network теперь можно настроить применение собственных параметров Diffie-Hellman. В QNetworkAccessManager появилась поддержка HTTP/2;
- В модуле Qt Bluetooth появилась поддержка профиля BTLE Peripheral на платформах macOS и iOS, и профиля BTLE Central на платформе WinRT;
- Обеспечена экспериментальная возможность сборки для устройств Apple на базе tvOS и watchOS. Для tvOS доступно большинство возможностей Qt, поддерживаемых для iOS should also work on tvOS. Для watchOS пока предоставляются только неграфические функции Qt;
- Проведена работа по стабилизации и расширению производительности модуля Qt 3D;
- В Qt Charts добавлен новый тип диаграмм Candlestick и реализована возможность использования API QOpenGLTextureBlitter;
- Для встраиваемых систем, поддерживаемых в наборе Qt for Device Creation, улучшена поддержка конфигураций с несколькими экранами при использовании QPA-плагина eglfs и добавлена возможность поворота содержимого экрана на 90 и 180 градусов;
- Объявлен устаревшим модуль Qt Script, который будет удалён в одном из будущих выпусков.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45901
|
0 | Tweet | Нравится |
|