Выпуск сборочного инструментария Qbs 1.15 и среды разработки Qt Design Studio 1.4

Представлен выпуск сборочного инструментария 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-представлением;

    Выпуск сборочного инструментария Qbs 1.15 и среды разработки Qt Design Studio 1.4

  • В средства проектирования 2D-интерфейсов добавлены инструменты выравнивания и распределения, позволяющие создавать сложные раскладки с автоматической расстановкой отступов между элементами;

    Выпуск сборочного инструментария Qbs 1.15 и среды разработки Qt Design Studio 1.4

  • Добавлен редактор привязок, позволяющий привязывать свойства без создания биндингов в текстовом редакторе, а выбирая свойства через контекстное меню;
    Выпуск сборочного инструментария Qbs 1.15 и среды разработки Qt Design Studio 1.4

  • Расширены возможности модулей Qt Bridge для Sketch и Photoshop, позволяющих на основе макетов, подготовленных в Sketch или Photoshop, создавать готовые к использованию компоненты и экспортировать их в QML-код.

Источник: opennet.ru

Добавить комментарий