Qbs 2.0 koostetööriista vabastamine

Teatati Qbs 2.0 koostetööriistade komplekti väljalaskmisest. Qb-de loomiseks on sõltuvuste hulgas nõutav Qt, kuigi Qbs ise on mõeldud mis tahes projektide kokkupanemise korraldamiseks. Qbs kasutab projekti koostamise skriptide määratlemiseks QML-keele lihtsustatud versiooni, mis võimaldab defineerida üsna paindlikke ehitusreegleid, millega saab ühendada väliseid mooduleid, kasutada JavaScripti funktsioone ja luua kohandatud ehitusreegleid.

Qbs-is kasutatav skriptikeel on kohandatud integreeritud arenduskeskkondade abil ehitusskriptide genereerimise ja sõelumise automatiseerimiseks. Lisaks ei genereeri Qbs makefile, vaid ise, ilma vahendajateta, nagu make-utiliit, kontrollib kompilaatorite ja linkerite käivitamist, optimeerides ehitusprotsessi kõigi sõltuvuste üksikasjaliku graafiku alusel. Algandmete olemasolu projekti struktuuri ja sõltuvuste kohta võimaldab toimingute täitmist mitmes lõimes tõhusalt paralleelstada. Suurte projektide puhul, mis koosnevad suurest hulgast failidest ja alamkataloogidest, võib Qbs-i abil taastamine olla mitu korda kiirem kui make – ümberehitamine toimub peaaegu kohe ega sunni arendajat ootamisele aega raiskama.

Meenutagem, et 2018. aastal otsustas Qt Company Qb-de arendamise lõpetada. Qbs töötati välja qmake asendusena, kuid lõpuks otsustati pikemas perspektiivis kasutada CMake'i Qt peamise ehitussüsteemina. Qbs-i arendus on nüüdseks jätkunud iseseisva projektina, mida toetavad kogukond ja huvitatud arendajad. Arenduseks kasutatakse jätkuvalt Qt Company taristut.

Märkimisväärne muudatus versiooninumbris on seotud uue JavaScripti taustaprogrammi juurutamisega, mis asendas Qt 6-s aegunuks tunnistatud QtScripti. Peeti ebareaalseks jätkata QtScripti hooldamist iseseisvalt JavaScriptCore'i keeruliste sidumiste tõttu, seega isemajandav ja kompaktne valiti uue taustaprogrammi aluseks. QuickJS JavaScripti mootori lõi Fabrice Bellard, kes asutas QEMU ja FFmpeg projektid. Mootor toetab ES2019 spetsifikatsiooni ja on olemasolevatest analoogidest märgatavalt parem (XS 35%, DukTape enam kui kaks korda, JerryScript kolm korda ja MuJS seitse korda).

Montaažiskriptide arendamise seisukohalt ei tohiks uuele mootorile üleminek kaasa tuua märgatavaid muutusi. Ka tootlikkus jääb ligikaudu samale tasemele. Erinevuste hulgas on uues mootoris karmimad nõuded nullide kasutamisele, mis võivad paljastada olemasolevates projektides probleeme, mis QtScripti kasutamisel tähelepanuta jäid.

Allikas: opennet.ru

Lisa kommentaar