Выпуск сборочного инструментария Qbs 1.15 и среды разработки Qt Design Studio 1.4
22 декабря 2019 года
Представлен выпуск сборочного инструментария Qbs 1.15. Это второй выпуск после ухода компании Qt Company от разработки проекта, подготовленный силами сообщества, заинтересованного в продолжении разработки Qbs. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.
Используемый в Qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, Qbs не генерирует make-файлы, а сам, без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием Qbs может опережать make в разы - пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.
Напомним, что в прошлом году компанией Qt Company было принято решение о прекращении разработки Qbs. Qbs развивался как замена qmake, но в конечном счёте было решено использовать CMake в качестве основной сборочной системы для Qt в долгосрочной перспективе. Разработка Qbs теперь продолжена в форме независимого проекта, поддерживаемого силами сообщества и заинтересованными разработчиками. Для разработки пока продолжает использоваться инфраструктура Qt Company.
Основные новшества Qbs 1.15:
- Добавлена новая команда "qbs session", предоставляющая API на основе формата JSON для взаимодействия с другими утилитами через stdin/stdout. Например, можно использовать для интеграции поддержки Qbs в IDE, не использующих Qt и C++;
- Проверки на уровне проекта вынесены на стадию до разбора профиля, что упрощает взаимодействие с пакетными менеджерами, такими как Conan и vcpkg, а также даёт возможность разрешить все зависимости, в том числе связанные с инструментарием компилятора, не привязываясь к особенностям конкретных платформ;
- В объекты Command, JavaScriptCommand и AutotestRunner добавлено свойство timeout для выявления и завершения зависших команд;
- Обеспечена корректная поддержка компилятора Xcode 11;
- Для Windows обеспечена поддержка работы Clang в режиме mingw;
- Добавлена поддержка микроконтроллеров msp430 с использованием GCC, IAR и IDE STM8, а также микроконтроллеров STM8 с IAR и SDCC;
- Добавлен новый генератор проектов для IAR Embedded Workbench, поддерживающий ARM, AVR, 8051, MSP430 и STM8;
- Добавлен новый генератор проектов для KEIL uVision 4, поддерживающий ARM и 8051;
- При сборке Qbs, Qt и runtime компилятора для упрощения формирования пакетов библиотеки теперь могут быть упакованы для Linux, macOS и Windows.
Одновременно представлен выпуск Qt Design Studio 1.4, окружения для проектирования интерфейса пользователя и разработки графических приложений на базе Qt. Qt Design Studio позволяет упростить совместную работу дизайнеров и разработчиков над созданием рабочих прототипов сложных и масштабируемых интерфейсов. Дизайнеры могут сосредоточиться только над графическим макетом оформления, в то время как разработчики могут уделить основное внимание разработке логики работы приложения, используя автоматически сгенерированный для макетов дизайнера QML-код. При помощи предлагаемого в Qt Design Studio рабочего процесса можно в считанные минуты превратить подготовленные в Photoshop или других графических редакторах макеты в рабочие прототипы, пригодные для запуска на реальных устройствах.
Предлагается коммерческая версия и Community-редакция Qt Design Studio. Коммерческая версия поставляется бесплатно, разрешает распространять подготовленные компоненты интерфейсов только обладателям коммерческой лицензии на Qt. Community-редакция не налагает ограничений на использование, но не включает модули для импорта графики из Photoshop и Sketch. Приложение представляет собой специализированный вариант среды Qt Creator, собираемый из общего репозитория. Большая часть специфичных для Qt Design Studio изменений входит в основную кодовую базу Qt Creator. Модули интеграции с Photoshop и Sketch являются проприетарными.
В новом выпуске:
- Добавлена поддержка интеграции с появившимся в Qt 5.14 модулем Qt Quick 3D, предоставляющим унифицированный API для создания интерфейсов пользователя на базе Qt Quick, сочетающих элементы 2D и 3D графики.
- Добавлена поддержка импорта 3D-ресурсов в форматах FBX, Collada (.dae), glTF2, Blender и obj, а также конвертации ресурсов из Qt 3d Studio (.uia и .uip);
- Добавлен новый режим редактирования 3D-сцен, позволяющий при открытии интерфейса на QML манипулировать компонентами сцены при помощи типовых инструментов, таких как перемещение, масштабирование и вращение. Режим упрощает синхронизацию содержимого 3D и 2D, так как можно одновременно наблюдать за видом 3D-сцены и 2D-представлением;
- В средства проектирования 2D-интерфейсов добавлены инструменты выравнивания и распределения, позволяющие создавать сложные раскладки с автоматической расстановкой отступов между элементами;
- Добавлен редактор привязок, позволяющий привязывать свойства без создания биндингов в текстовом редакторе, а выбирая свойства через контекстное меню;
- Расширены возможности модулей Qt Bridge для Sketch и Photoshop, позволяющих на основе макетов, подготовленных в Sketch или Photoshop, создавать готовые к использованию компоненты и экспортировать их в QML-код.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.