Prispela je nova različica sistema za prevajanje QBS 2.0

QbS

Qbs je sistem za avtomatizacijo gradnje, ki ga vodi skupnost in je neodvisen od jezika. Je hiter in ponuja preprost jezik, ki temelji na QML.

Pred kratkim je bila napovedana izdaja Qbs 2.0, brezplačne in odprtokodne programske opreme za upravljanje procesa razvoja programske opreme, ki deluje na več platformah . Zasnovana je bila za podporo velikim in kompleksnim projektom, napisanim v različnih programskih jezikih, predvsem C/C++.

Nova različica 2.0 je pomembna zaradi svoje številke različice, saj je povezana z implementacijo novega JavaScript backenda , ki je nadomestil QtScript, ki je postal zastarel v Qt 6.

Za tiste, ki niso seznanjeni s Qbs, uporablja poenostavljeno različico jezika QML za definiranje skriptov za gradnjo projektov, kar omogoča dokaj prilagodljiva pravila gradnje, ki lahko povezujejo zunanje module, uporabljajo funkcije JavaScript in ustvarjajo poljubna pravila gradnje.

Qbs je edinstven po tem, da nima mehanizma za notranje gradnje, kar zagotavlja možnost ustvarjanja več gradenj iz enega samega drevesa izvorne kode, vključno z gradnjo z enim samim klicem ukaza in vzporedno.

To je ključna funkcija, ki zagotavlja, da izvorne datoteke ostanejo nespremenjene, če se imenik za gradnjo izbriše , in da se v izvorni imenik ne zapišejo nobeni izhodni artefakti. Qt je potreben kot odvisnost za gradnjo Qbs, čeprav je sam Qbs zasnovan za organizacijo sestavljanja katerega koli projekta.

Skriptni jezik, uporabljen v Qbs, je prilagojen za avtomatizacijo generiranja in razčlenjevanja gradbenih skriptov s strani IDE. Poleg tega Qbs ne generira make datotek in brez posrednikov, kot je pripomoček make, nadzoruje izdajo prevajalnikov in povezovalnikov ter optimizira postopek gradnje na podlagi podrobnega grafa vseh odvisnosti.

Prisotnost začetnih podatkov o strukturi in odvisnostih v projektu vam omogoča učinkovito vzporedno izvajanje operacij v več nitih. Pri velikih projektih, ki so sestavljeni iz velikega števila datotek in podimenikov, je lahko zmogljivost vnovičnih gradenj z uporabo Qbs nekajkrat boljša kot make: vnovična konstrukcija je skoraj takojšnja in razvijalcu ne izgublja časa s čakanjem.

Glavne novosti QBS 2.0

Ta nova izdaja QBS 2.0 je, kot je bilo že omenjeno na začetku, pomembna zaradi novega JavaScript mehanizma, ki nadomešča QtScript, ki je za Qt 6 postal zastarel, saj se je zaradi kompleksnih povezav z JavaScriptCore zdelo nerealno nadaljevati vzdrževanje samo QtScript.

Možnost ohranitve QtScripta z njegovo kompleksno odvisnostjo se ni zdela posebej privlačna. Vendar nobeden od kandidatov ni ponudil API-ja za prestrezanje dostopov do lastnine, nekaj, kar razvijalci pravijo, da nujno potrebujejo zaradi učinkovitosti.

Z vidika uporabnika ne bi smelo biti opaznih sprememb; predvsem se zdi, da je zmogljivost približno enaka. Vendar pa je bil QtScript precej popustljiv pri sprejemanju nedefiniranih vrednosti v kontekstih, kjer mu ni bilo treba, tako da bi nova izvedba lahko odkrila nekaj napak v vaših projektih.

Motor je skladen s specifikacijo ES2019 in znatno prekaša svoje obstoječe dvojnike (XS za 35 %, DukTape za več kot dvakrat, JerryScript za trikrat in MuJS za sedemkrat). Z vidika razvoja skriptov za gradnjo prehod na nov motor ne bi smel povzročiti opaznih sprememb.

Zmogljivost bo ostala skoraj enaka. Med razlikami so strožje zahteve novega mehanizma za uporabo ničelnih vrednosti, kar lahko razkrije težave v obstoječih projektih, ki so ostale neopažene pri uporabi QtScripta.

Poleg tega je omenjeno tudi, da so bile odstranjene datoteke projekta qmake, kar je povzročilo zmanjšanje vzdrževalnega dela za razvijalce.

Nazadnje je omenjeno, da bo različica 2.1 videla ponovno pisanje kode, s katero razvijalci domnevajo, da bodo imeli več novih funkcij, kot tudi splošne izboljšave zmogljivosti.

Če vas zanima več informacij, lahko podrobnosti najdete na naslednji povezavi.


Dodaj kot prednostni vir v Googlu