Релиз фреймворка Qt 6.0
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Компания Qt Company опубликовала релиз ветки Qt 6, которая включает значительные архитектурные изменения. Для сборки Qt 6 по умолчанию задействован Cmake, а в коде разрешено использование стандарта C++17. Лицензионная политика и модель распространения фреймворка остались прежними, опасения, связанные с усилением коммерциализации проекта не подтвердились. В новой версии заявлена поддержка платформ Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ и Android (API 23+). Достижение паритета с Qt 5 в поддержке real-time систем ожидается в выпуске Qt 6.2.
Ключевые особенности Qt 6:
- Предложен абстрагированный графический API, не зависящий от 3D API операционной системы. Ключевым компонентом нового графического стека Qt является движок рендеринга сцен, использующий прослойку RHI (Rendering Hardware Interface) для обеспечения работы приложений Qt Quick не только с OpenGL, но и поверх API Vulkan, Metal и Direct 3D.
- Подготовлен модуль Qt Quick 3D с API для создания интерфейсов пользователя на базе Qt Quick, сочетающих элементы 2D и 3D графики. Qt Quick 3D позволяет использовать QML для определения 3D-элементов интерфейсов без задействования формата UIP. В Qt Quick 3D для 2D и 3D можно использовать один runtime (Qt Quick), один макет сцены и один анимационный фреймворк, а для визуальной разработки интерфейса применять Qt Design Studio. Модуль решает такие проблемы, как большие накладные расходы при интеграции QML с контентом из Qt 3D или 3D Studio, и предоставляет возможность синхронизации анимации и преобразований на уровне отдельных кадров между 2D и 3D.
- Проведена реструктуризация кодовой базы с разбиением на более мелкие составные части и сокращением размера базового продукта. Инструменты для разработчиков и специализированные компоненты теперь поставляться в виде дополнений, распространяемых через каталог-магазин Qt Marketplace. Для загрузки и установки дополнений предложен собственный пакетный менеджер на базе проекта Сonan. Дробление на пакеты позволяет публиковать выпуски модулей в соответствии с отдельным графиком разработки, а также выпускать модули сразу для нескольких версий базового набора Qt. В число вынесенных в отдельные пакеты модулей отнесены Qt Network Authorization, Qt Image Formats и Qt 3D.
- Существенно модернизирован QML:
- Поддержка строгой типизации.
- Возможность компиляции QML в представление на C++ и машинный код.
- Перевод полной поддержки JavaScript в разряд опций (использование полнофункционального JavaScript-движка требует больших ресурсов, что мешает применению QML на таком оборудовании, как микроконтроллеры).
- Отказ от версионирования в QML.
- Унификация структур данных, дублирующихся в QObject и QML (позволит сократить потребление памяти и ускорить запуск).
- Уход от генерации структур данных во время выполнения в пользу генерации во время компиляции.
- Скрытие внутренних компонентов через использование приватных методов и свойств.
- Улучшенная интеграция с инструментами разработки для рефакторинга и диагностики ошибок во время компиляции.
- Добавлены инструменты для обработки связанных с графикой ресурсов на этапе компиляции, например, для преобразования PNG-изображений в сжатые текстуры или для конвертации шейдеров и мешей в оптимизированные бинарные форматы для конкретного оборудования.
- Встроен унифицированный движок для тем оформления и стилей, позволяющий добиться внешнего вида приложений на базе Qt Widgets и Qt Quick, родного для разных мобильных и настольных платформ.
- В качестве системы сборки использован инструментарий CMake вместо QMake. Поддержка сборки приложений при помощи QMake сохранена, но сам Qt теперь собирается с использованием CMake. CMake выбран, так как данный инструментарий получил широкое распространение в среде разработчиков проектов на C++ и поддерживается во многих интегрированных средах разработки. Разработка сборочной системы Qbs, которая претендовала на роль замены QMake, продолжена сообществом.
- Осуществлён переход при разработке на стандарт C++17 (ранее использовался C++98, а с Qt 5.7 — C++11).
- Добавлена возможность использования в коде на C++ некоторой функциональности, предлагаемой для QML и Qt Quick. В том числе предложена новая система свойств для QObject и подобных классов. Из QML в ядро Qt интегрирован движок для работы с привязками (binding), что позволяет снизить нагрузку и потребление памяти для биндингов и сделать их доступными для всех частей Qt, а не только для Qt Quick.
- Расширена поддержка дополнительных языков, таких как Python и WebAssembly.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.qt.io/blog/qt-6.0-...)
- OpenNews: Для Qt 6 развивается пакетный менеджер. Выпуск Qt for MCUs 1.5
- OpenNews: Qt 6 в Debian может оказаться без сопровождения
- OpenNews: Релиз фреймворка Qt 5.15
- OpenNews: Qt Company обдумывает переход к публикации свободных релизов Qt через год после платных выпусков
- OpenNews: LTS-версии Qt будут доступны только под коммерческой лицензией
Похожие новости:
- Выпуск aqtinstall 0.10, альтернативного установщика Qt
- [Анализ и проектирование систем, Программирование микроконтроллеров, Управление проектами, Производство и разработка электроники, Транспорт] Опыт разработки системы управления для железнодорожной техники на отечественных микроконтроллерах
- [Разработка под MacOS, Разработка под Linux, Разработка под Windows, Визуальное программирование] Фреймворки и библиотеки для кроссплатформенной разработки десктопных программ
- [Программирование, Разработка под MacOS, Разработка под Linux, Разработка под Windows] Фреймворки для кроссплатформенной разработки десктопных программ с GUI
- [JavaScript, Qt, Интерфейсы, Графический дизайн] Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML
- [Open source, Go, Интернет вещей, DIY или Сделай сам] (Не)очередной MQTT телеграм бот для IoT
- Для Qt 6 развивается пакетный менеджер. Выпуск Выпуск Qt for MCUs 1.5
- Qt 6.0 перешёл на стадию бета-тестирования
- [Amazon Web Services, SCADA, Умный дом, Интернет вещей] Разработка системы мониторинга шкафов связи на AWS
- Доступна альфа-версия Qt 6.0
Теги для поиска: #_qt
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:18
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Компания Qt Company опубликовала релиз ветки Qt 6, которая включает значительные архитектурные изменения. Для сборки Qt 6 по умолчанию задействован Cmake, а в коде разрешено использование стандарта C++17. Лицензионная политика и модель распространения фреймворка остались прежними, опасения, связанные с усилением коммерциализации проекта не подтвердились. В новой версии заявлена поддержка платформ Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ и Android (API 23+). Достижение паритета с Qt 5 в поддержке real-time систем ожидается в выпуске Qt 6.2. Ключевые особенности Qt 6:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:18
Часовой пояс: UTC + 5