Бета-версия Qt 5.0 выпущена!

31 Августа 2012
Digia совместно с Qt Project выпустила в свет Qt 5.0 бета-версию. Данный релиз предназначен для предварительного ознакомления с тем функционалом, который будет доступен в официальном финальном релизе Qt 5.0. Данная бета-версия доступна для всех пользователей Qt, и мы призываем вас опробовать эту бету первыми.

Из чего же сделан Qt5?
Как новая версия 5.0 - очень значительный релиз. Он призван укрепить позицию Qt как ведущего средства кроссплатформенной разработки в ближайшие годы. Он не переписан с нуля. Qt 5 содержит почти всё из Qt 4, большинство модулей из бывшего Qt Mobility, некоторые элементы из Qt Labs, и, конечно, несколько нововведений. С новой структурой модульности стало намного проще использовать в своем продукте только те элементы, модули, которые необходимы в вашем продукте. Основные нововведения в 5-ой версии следующие:
Обновленная архитектура графического стека;
Более модульная структура, чем в Qt 4;
Изменение движка JavaScript для Qt Quick 2. В Qt Quick 2 используется новый движок V8, доступный по BSD лицензии, что обеспечивает более гибкое использование в коммерческих продуктах.
Множество других значительных улучшений и новых функциональных возможностей практически в каждом модуле.
Qt 5.0 первый значительный (major) релиз за последние семь лет, в который было вложено много усилий. Многие элементы доступны впервые именно в Qt 5.0 и могут быть использованы в ваших продуктах, как только мы выпустим финальную версию 5.0.0. Выпуская версию 5.0 бета, мы ожидаем получить отзывы пользователей, которые укажут нам направление дальнейших разработок. В перспективе – с каждым новым корректирующим (minor) релизом Qt 5.x - планируется постоянное усовершенствование и добавление новых элементов и функционала.
Принимая во внимание весь новый, добавленный функционал в Qt 5, на мой взгляд, одним из самых впечатляющих фактов и преимуществ остается совместимость с Qt 4. Да, мы продолжим развивать Qt 4.8, выпуская новые патч релизы, и продолжим предоставлять поддержку версии Qt 4 в течение длительного времени. Но, в конечном счете, важно знать и понимать, что переход на Qt5 проходит легко и беспроблемно. Давайте вернемся к этому после рассмотрения – что же именно предлагается в релизе 5.0 бета.
Qt 5.0 бета – что внутри?
Новый функционал в Qt 5.0 бета – в сравнении с Qt 4.8:
Новые возможности для графического стека, увеличение производительности, простота разработки и развертывания – поддержка OpenGL, интегрированная поддержка 3D, поддержка шейдерных эффектов, частиц и других графических эффектов;
Кроссплатформенность на все 100% - с использованием уровня абстракции Qt Platform Abstraction layer (QPA);
Qt и HTML5 – новый Qt WebKit и JavaScript, интегрированная поддержка JSON, улучшена поддержка облачных сервисов;
Простота использование Qt – Qt Quick, Qt Creator, эмулятор, развёртывание (установка) на устройстве, документация, поддержка сообщества – и ,естественно, полная Qt Commercial поддержка – все это в релизе 5.0.0.

Мы хотим, чтобы Qt Commercial 5 поддерживал все платформы, которые важны для наших клиентов. Несколько недель назад мы уже обращались к вам с просьбой поделиться вашими планами в отношении различных поддерживаемых в рамках Qt Commercial платформ. Мы будем активно использовать полученную информацию для расширения списка этих поддерживаемых платформ.
В рамках релиза Qt Commercial 5.0 бета – следующие платформы уже поддерживаются на должном уровне:
Windows
Mac OS X
X11/Linux
Embedded Linux
Windows Embedded
Скорее всего, список именно этих платформ будет объявлен как «поддерживаемые» в финальном релизе 5.0.0, возможно – с некоторыми дополнениями. В данный момент мы работаем с нашими партнерами по RTOS (ОСРВ – Операционные Системы Реального Времени) платформам, чтобы включить их поддержку в Qt 5. В будущем, на основе отзывов и пожеланий наших клиентов – список поддерживаемых платформ будет расширяться.
Переход на Qt 5
Qt 5 включает все самое лучшее из Qt 4, плюс дополнительные, новые возможности. Это означает полную совместимость Qt 5 с Qt 4 – огромное преимущество для разработчиков: они могут плавно перейти к разработке своих приложений – из-под Qt 5 – с использованием текущей функциональности Qt 4. А когда придет время для создания новых приложений с новыми функциональными возможностями, использование Qt 5 позволит осуществить и это.
В связи с изменениями в модульной структуре конфигурация вашего проекта должна быть слегка изменена для соответствия конфигурации Qt 5. Можно создавать исходный код таким образом, чтобы он без проблем собирался как из-под Qt 4, так и из под Qt 5. В папке qtbase/bin разработчикам предоставлен очень полезный скрипт fixqt4headers.pl – используя его, можно провести автоматические изменения в директиве #include<> – для переименования названий модулей.
После того как вы успешно перенесли ваш существующий проект на Qt 5, можно постепенно вводить новый функционал, предоставляемый Qt 5-ым. Одним из пунктов в списке нового функционала стоит Qt Quick 2 и измененный графический стек с использованием аппаратного ускорения на базе OpenGL. Если в своем приложении вы используете динамичный и интерактивный UI, то гораздо проще будет создавать его с использованием Qt Quick, чем с использованием виджетов (Widgets) и C++. Но, как уже было сказано, виджеты полностью поддерживаются в Qt 5 – как и C++ :) Qt Quick – это отличный способ создания интерактивных пользовательских интерфейсов с логикой, реализованной на C++ - также как и прежде.
Новые расширения (add-in) для Visual Studio
Также для Qt 5 мы создали новую версию расширения (add-in) для Visual Studio. Этот add-in также пока в стадии «бета», но, используя его, вы уже можете опробовать Qt5 с использованием Visual Studio. Данный add-in создан на базе существующего расширения для Visual Studio, с изменениями для поддержки новой модульной структуры Qt5. Теперь Qt Essentials и дополнительные модули отображаются как в настройках проекта (Project Settings), так и в Мастере Проекта (Project Wizards). Пользователи могут подключать и отключать модули как и раньше. Модули, не установленные в системе, отображаются как недоступные в списке Add-on modules. Создание новых проектов под Qt 4 не поддерживается, как минимум в данной бета версии. Существующие Qt4 проекты могут быть скомпилированы и слинкованы (связаны). Данная бета предназначена для использования в Visual Studio 2008 и 2010. Visual Studio 2005 более не поддерживается. Поддержка VS2012 планируется в следующих релизах расширений для VS.
Следующие шаги
В данную бета-версию, доступную единым инсталлятором на портале Qt Commercial Customer Portal http://www.digia.com/en/Qt/Log-in-Customer-Portal/, мы включили все доступные модули скопом (все вместе). Для финального релиза мы предоставим возможность выбора необходимых модулей на основе модульной структуры, а также установку с использованием Qt Commercial SDK.
Мы планируем обеспечить возможность использования Qt Commercial версий 4.8 и 5.0 с одним и тем же SDK – что, мы надеемся, будет наиболее удобным способом для пользователей SDK. Это также даст дополнительные преимущества – например, выравнивание сторонних, дополнительных компонент. Подобные улучшения мы реализуем в toolchain-е (набор пакетов программ) для embedded Linux, что будет большим подспорьем как для пользователей 4.8, так и для пользователей версии 5.0. (http://www.digia.com/en/Blogs/Qt-blog/Samuli-Pippo/Dates/2012/7/Updating-Embedded-Linux-Toolchain-for-Qt-Commercial-SDK/). В наши планы после бета-версии Qt 5.0 входит также предоставление Qt 5 релизов через онлайн SDK, что позволит легче управлять ими и иметь своевременные обновления.
Мы проведем небольшой опрос среди тех, кто скачает Qt Commercial 5.0 бета-версию. Так что вперед, скачивайте, пробуйте – и дайте нам знать, что вы думаете об этом!
Получить бета-версию Qt Commercial 5.0
Если вы уже являетесь держателем лицензии Qt Commercial, вы можете скачать бета-версию 5.0 с портала Qt Commercial Customer Portal.
Если у Вас еще нет лицензии, пожалуйста, загрузите бесплатную 30-дневную триальную версию с нашего сайта или обратитесь к нашему менеджеру по продажам за дополнительной информацией о лицензировании Qt.
Мария Пайсина
Диджия РУС (Digia)
Пайсина Мария
Maria.Paisina@digia.com