Во вторник, 8 декабря, компания Qt Company обновила свой фреймворк для кроссплатформенной разработки. Если сравнить с пятой версией 2012 года, в Qt 6.0 появились новые API для 3D-графики, улучшенная поддержка С++17 и система сборки cmake. Полный список изменений компания публикует на странице в вики.
Технический директор Qt Company Ларс Кнолл отметил, что версия Qt 5 «была фантастически успешна многие годы». Предыдущую версию выпустили в 2012 году и её пользовательская база выросла до 1,5 миллионов пользователей. Также увеличилось использование Qt во встраиваемых системах управления, контроля и мониторинга микропроцессоров; появился запрос на работу с API для 3D-графики.
За годы разработки между версиями пятого Qt стало значительно труднее сохранять совместимость на уровне исходных кодов и двоичных файлов. Разработчики оправдывают историческую неизбежность Qt 6.0 необходимостью адаптировать его к новому миру и его изменчивым требованиям.
Особенности Qt 6.0:
- Использование С++ 17
- QML следующего поколения
- Новая графическая архитектура
- Отрисовка 2D и 3D объединена для Qt Quick
- Система сборки CMake для приложений
- Qt для микроконтроллеров, требующий 80 КБ ОЗУ в минимальной конфигурации
Разработчики полностью переработали базовые классы, их используют для системы сигнала-слотов и для реализации нового типа контейнера, который объединяет в себе свойства массива и связанного списка. Qt 6 работает в едином интерфейсе аппаратного рендеринга с поддержкой Direct 3D, Metal, Vulkan и OpenGL. Остальные нововедения и изменения компания разместила на странице в Wiki.
Ларс Кнолл отметил работу более 250 сотрудников и тысяч пользователей, участвовавших в разработке новой версии продукта и поблагодарил их за тяжёлый труд. Он надеется, что пользователи оценят Qt 6, и обещает портировать оставшиеся модули, как можно быстрее.
Qt 6.0 вышла на Windows, macOS, Linux, iOS и Android. Программа пока не работает для операционных систем реального времени QNX и INTEGRITY. Их поддержка появится к моменту выхода Qt 6.2.
Emulyator
Официально 7-ка (Windows 7) не поддерживается, но люди пишут, что вроде на ней работает. Чем грозит разработка на 7-ке?
akaAzazello
Если у вас настроенная система Win7 с компилятором С++17, cmake и D3D11/VK/GL драйверами — то с разработкой будет всё в норме.
А вот официальной поддержки разрабатываемого вами продукта на Win7 не будет;)
upd: На уровне кода Qt 6, полагаю, сможет работать и на Win2k — а вот с более ранними (т.е. до WinNT 3.51) уже будут сложности — но связанны они больше с драйверами для отрисовки будут (нет D3D и VK, и, местами, даже OpenGL 2.х). Ну и систему сборки/компиляторы придётся для начала завести;)