Qbs është një sistem automatizimi ndërtimi i drejtuar nga komuniteti, agnostik gjuhësor. Është i shpejtë dhe ofron një gjuhë të lehtë për t'u mësuar bazuar në QML.
Kohët e fundit u njoftua publikimi i Qbs 2.0, një program falas dhe me burim të hapur, ndërplatformor për menaxhimin e procesit të zhvillimit të softuerëve . Ai është projektuar për të mbështetur projekte të mëdha dhe komplekse të shkruara në gjuhë të ndryshme programimi, kryesisht C/C++.
Versioni i ri 2.0 është i rëndësishëm në numrin e versionit të tij, pasi shoqërohet me zbatimin e një backend-i të ri JavaScript , i cili zëvendësoi QtScript, i cili u bë i vjetëruar në Qt 6.
Për ata që nuk janë të njohur me Qbs, ai përdor një version të thjeshtuar të gjuhës QML për të përcaktuar skriptet e ndërtimit të projektit, duke lejuar rregulla ndërtimi mjaft fleksibile që mund të lidhin module të jashtme, të përdorin funksione JavaScript dhe të krijojnë rregulla ndërtimi arbitrare.
Qbs është unik në atë që nuk ka mekanizëm për ndërtime të brendshme, duke garantuar mundësinë për të krijuar ndërtime të shumëfishta nga një pemë e vetme burimore, duke përfshirë ndërtimin nga një thirrje e vetme komande dhe paralelisht.
Kjo është një veçori kyçe, që siguron që skedarët burimorë të mbeten të paprekur nëse fshihet një direktori ndërtimi dhe që të mos shkruhen artefakte dalëse në direktorinë burimore. Qt kërkohet si një varësi për të ndërtuar Qbs, megjithëse vetë Qbs është projektuar për të organizuar montimin e çdo projekti.
Gjuha e skriptimit e përdorur në Qbs është përshtatur për të automatizuar gjenerimin dhe analizimin e skripteve të ndërtimit nga IDE. Për më tepër, Qbs nuk gjeneron skedarë makine dhe, pa ndërmjetës si mjeti make, kontrollon lëshimin e përpiluesve dhe lidhësve, duke optimizuar procesin e ndërtimit bazuar në një grafik të detajuar të të gjitha varësive.
Prania e të dhënave fillestare mbi strukturën dhe varësitë në projekt ju lejon të paralelizoni në mënyrë efektive ekzekutimin e operacioneve në disa fije. Për projektet e mëdha që përbëhen nga një numër i madh skedarësh dhe nëndrejtorish, performanca e rindërtimeve duke përdorur Qbs mund të jetë disa herë më e mirë se ajo e bërë: rindërtimi është pothuajse i menjëhershëm dhe nuk e humb kohën e zhvilluesit duke pritur.
Risitë kryesore të QBS 2.0
Ky version i ri i QBS 2.0 është i shquar, siç u përmend në fillim, për shkak të motorit të ri JavaScript që zëvendëson QtScript, i cili u bë i vjetëruar për Qt 6, pasi konsiderohej jorealiste të vazhdohej të mirëmbahej vetëm QtScript për shkak të lidhjeve komplekse me JavaScriptCore.
Perspektiva e mbajtjes së QtScript me varësinë e saj komplekse nuk dukej veçanërisht tërheqëse. Sidoqoftë, asnjëri nga kandidatët nuk ofroi një API për të përgjuar akseset e pronave, diçka që zhvilluesit thonë se u nevojitet absolutisht për arsye të performancës.
Nga këndvështrimi i përdoruesit, nuk duhet të ketë ndryshime të dukshme; në veçanti, performanca duket të jetë pothuajse e njëjtë. Sidoqoftë, QtScript ishte mjaft i butë në pranimin e vlerave të papërcaktuara në kontekste ku nuk duhej, kështu që zbatimi i ri mund të zbulojë disa gabime në projektet tuaja.
Motori është në përputhje me specifikimet ES2019 dhe i tejkalon ndjeshëm homologët e tij ekzistues (XS me 35%, DukTape me më shumë se dy herë, JerryScript me tre herë dhe MuJS me shtatë herë). Nga perspektiva e zhvillimit të skripteve të ndërtimit, kalimi në një motor të ri nuk duhet të rezultojë në ndonjë ndryshim të dukshëm.
Performanca gjithashtu do të mbetet pothuajse e njëjtë. Ndër ndryshimet, motori i ri ka kërkesa më të rrepta për përdorimin e vlerave null, të cilat mund të zbulojnë probleme në projektet ekzistuese që kanë kaluar pa u vënë re gjatë përdorimit të QtScript.
Përveç kësaj, përmendet gjithashtu se skedarët e projektit qmake u hoqën, gjë që rezultoi në një reduktim të punës së mirëmbajtjes për zhvilluesit.
Më në fund përmendet se versioni 2.1 do të shohë një rishkrim të kodit me të cilin zhvilluesit supozojnë se do të kenë disa veçori të reja, si dhe përmirësime të përgjithshme të performancës.
Nëse jeni të interesuar të mësoni më shumë, mund t’i gjeni detajet në linkun e mëposhtëm.