Qbs 2.0 korpustööriista vÀljaanne on esitatud. Qbs kokkupanemiseks on vajalik Qt, kuigi Qbs-i on loodud mistahes projektide kokkupanemise korraldamiseks. Qbs kasutab projekti kokkupanemise skriptide mÀÀratlemiseks lihtsustatud QML keelt, mis vÔimaldab luua piisavalt paindlikke kokkupanemisreegleid, milles saab kasutada vÀliseid mooduleid, JavaScripti funktsioone ja luua kohandatud kokkupanemisreegleid.
Qbs-i skriptikeel on kohandatud automaatseks genereerimiseks ja töötluseks integreeritud arenduskeskkondades. Lisaks sellele ei genereeri Qbs make-failide, vaid kontrollib otse, ilma vahekohtadeta, nagu make utiliit, kompilaatorite ja linkijate kĂ€ivitamist, optimeerides build-protsessi kĂ”igi sĂ”ltuvuste detailse graafi alusel. Projekti struktuuri ja sĂ”ltuvuste originaalandmete olemasolu vĂ”imaldab tĂ”husalt jaotada toimingute tĂ€itmist mitme lĂ”ime vahel. Suurte projektide puhul, mis koosnevad paljusid faile ja alamkaustu, vĂ”ib Qbs-i kasutamisega toimunud uuesti buildimise efektiivsus ĂŒletada make'i oma mitu korda â uuesti buildimine toimub peaaegu hetkega ning ei sunni arendajat aega raiskama ootamisele.
Tuletame meelde, et 2018. aastal tegi Qt Company otsuse Qbs arendamise lĂ”petamise kohta. Qbs arenes vĂ€lja qmake'i asendajana, kuid lĂ”puks otsustati kasutada CMake'i pikaajalise ehitusĂŒsteemina Qt jaoks. Qbs-i arendamine on nĂŒĂŒd jĂ€tkuvalt iseseisva projektina, mida toetavad kogukonna ja huvitatud arendajate jĂ”ud. Arendamiseks kasutatakse endiselt Qt Company infrastruktuuri.
Oluline versioonimuutus on tingitud uue JavaScripti taustsĂŒsteemi rakendamisest, mis asendab QtScript'i, mis kuulutati Qt 6-s vananenuks. QtScript'i jĂ€tkusuutlikkuse tagamine oma jĂ”ududega, vaadates keerulisi sidemeid JavaScriptCore'iga, on osutunud ebatĂ”eliseks, mistĂ”ttu uue taustsĂŒsteemi aluseks valiti iseseisev ja kompaktne JavaScripti mootor QuickJS, mille lĂ”i Fabrice Bellard, kes on kunagi asutanud projektid QEMU ja FFmpeg. Mootor toetab ES2019 spetsifikatsiooni ja on jĂ”udluselt oluliselt parem kui olemasolevad analoogid (XS rohkem kui 35%, DukTape enam kui kaks korda, JerryScript kolm korda ja MuJS seitse korda).
KokkuvĂ”ttes ei tohiks uuele mootori ĂŒleminek arendusprotsessis tuua mĂ€rkimisvÀÀrseid muudatusi. JĂ”udlus pĂŒsib ligikaudu samal tasemel. Erinevustena mĂ€rgitakse Ă€ra uue mootori rangemad nĂ”uded mÀÀramata vÀÀrtuste kasutamisel, mis vĂ”ib avaldada probleeme olemasolevates projektides, mis on jÀÀnud mĂ€rkamata QtScripti kasutamise ajal.
Allikas: opennet.ru
