Разработчики Qt уже выпустили первую версию тест новой ветки Qt 6, в котором будут предложены значительные архитектурные изменения и потребуется компилятор, поддерживающий стандарт C ++ 17.
Со стороны основных изменений, в первую очередь подчеркивается, что Автономный 3D API абстрактной графики Операционная система. Это ключевой компонент нового графического стека Qt - движок рендеринга сцены, который использует уровень RHI (аппаратный интерфейс рендеринга), чтобы приложения Qt Quick могли работать не только с OpenGL, но и поверх 3D API. Vulkan, Metal и Прямой.
Для модуля Qt Quick 3D который позволяет использовать QML для определения элементов трехмерного интерфейса без использования формата UIP, теперь можно использовать среду выполнения (QT Quick), дизайн сцены и кадр анимации, и используйте Qt Design Studio для визуальной разработки интерфейса.
Модуль решает такие проблемы, как высокие накладные расходы при интеграции QML с контентом из Qt 3D или 3D Studio и предоставляет возможность синхронизировать анимацию и отдельные преобразования на уровне кадра между 2D и 3D.
Еще одно важное изменение - реструктуризация кодовой базы. разделив его на более мелкие компоненты и уменьшив размер базового продукта. Инструменты разработчика и специализированные компоненты будут поставляться в виде подключаемых модулей, распространяемых через Qt Marketplace.
Кроме того, Я знаю, что стоит отметить значительную модернизацию 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 6 планирует реализовать поддержку многих современных функций C ++., но без потери совместимости со старым кодом, основанным на стандартах.
Возможность использования в коде C ++ некоторых функций, предлагаемых для QML и Qt Quick.
В частности, будет введена новая система свойств для QObject и подобные классы. Механизм связывания из QML будет интегрирован в ядро Qt, уменьшая нагрузку и потребление памяти для связывателей и делая их доступными для всех частей Qt, а не только Qt Quick.
Этот выпуск включает только начальную структуру будущей версии Qt 6, которая запланирована на 1 декабря 2020 года.
Функциональность в ветви Qt 6 будет расширяться до замораживания базы кода 31 августа.
источник: https://www.qt.io
Комментарий, оставьте свой
Вау, мне уже захотелось усовершенствовать свой C ++