Выпуск зборачнага інструментара 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 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

Дадаць каментар