Stiže nova verzija sistema za kompilaciju QBS 2.0

QbS

Qbs je sistem za automatizaciju izgradnje koji je vođen od strane zajednice. Brz je i nudi jezik koji se lako uči baziran na QML-u.

Nedavno najavljeno je izdavanje nove verzije Qbs 2.0, koji je besplatan i open source cross-platform softver za upravljanje procesom kreiranja softvera. Dizajniran je da podrži velike i složene projekte, napisane u različitim programskim jezicima, uglavnom C/C++.

Nova verzija 2.0 je značajan po broju verzije, jer je povezan sa implementacijom novog JavaScript backend-a., koji je zamenio QtScript, koji je zastareo u Qt 6.

Za one koji nisu svjesni Qbs-a, trebali bi znati da je ovo koristi pojednostavljenu verziju jezika QML da definišete skripte za izgradnju projekta, omogućavajući vam da definišete prilično fleksibilna pravila izgradnje gde se mogu priključiti eksterni moduli, mogu se koristiti JavaScript funkcije i mogu se kreirati proizvoljna pravila izgradnje.

Qbs je jedinstven po tomee nema nikakav mehanizam za interne kompilacije, osiguravajući mogućnost kreiranja višestrukih verzija iz jednog izvornog stabla, uključujući izgradnju iz jednog pozivanja komande i paralelno.

Ovo je ključna karakteristika koja osigurava da izvorne datoteke nisu pogođene ako se izbriše direktorij izgradnje i da se nikakvi izlazni artefakti ne upisuju u izvorni direktorij. Za izgradnju Qbs-a, Qt je potreban kao zavisnost, iako je sam Qbs dizajniran da organizira sklapanje bilo kojeg projekta.

Skriptni jezik koji se koristi u Qbs-u je skrojen da automatizuje generisanje i raščlanjivanje skriptova za izgradnju od strane IDE-a. Štaviše, Qbs ne generiše makefile i, bez posrednika kao što je make uslužni program, kontroliše izdavanje kompajlera i linkera, optimizujući proces izgradnje na osnovu detaljnog grafikona svih zavisnosti.

Prisustvo početnih podataka o strukturi i zavisnosti u projektu omogućava vam da efikasno paralelizujete izvođenje operacija u nekoliko niti. Za velike projekte koji se sastoje od velikog broja datoteka i poddirektorija, izvedba rekonstrukcije pomoću Qbs-a može biti nekoliko puta bolja od izrade: rekonstrukcija je gotovo trenutna i ne gubi vrijeme programera na čekanje.

Glavne novine QBS 2.0

Ovo novo izdanje QBS 2.0 je značajno kao što je spomenuto na početku, zbog novi JavaScript motor koji dolazi da zameni QtScript koji je zastario za Qt 6, jer se smatralo nerealnim nastaviti da podržava QtScript samostalno zbog složenih veza za JavaScriptCore.

Mogućnost zadržavanja QtScript-a sa njegovom složenom zavisnošću nije izgledala posebno privlačna. Međutim, nijedan kandidat nije ponudio API za presretanje pristupa svojstvu, nešto što programeri kažu da im je apsolutno potrebno iz razloga performansi.

Sa korisničke tačke gledišta, ne bi trebalo biti vidljivih promena; posebno, čini se da su performanse otprilike iste. Međutim, QtScript je bio prilično popustljiv u prihvaćanju nedefiniranih vrijednosti u kontekstima u kojima nije morao, tako da bi nova implementacija mogla otkriti neke greške u vašim projektima.

Motor je usklađen sa specifikacijom ES2019 i značajno nadmašuje svoje postojeće kolege u performansama (XS za 35%, DukTape za više od dva puta, JerryScript za tri puta, a MuJS za sedam puta). Sa stanovišta razvoja skripte za izgradnju, prelazak na novi motor ne bi trebao rezultirati primjetnim promjenama.

Performanse će također ostati približno iste. Od razlika, postoje stroži zahtevi u novom motoru za korišćenje nul vrednosti, što može otkriti probleme u postojećim projektima koji su ostali neprimećeni kada se koristi QtScript.

Pored ovoga spominje se i to uklonjene qmake projektne datoteke, što je rezultiralo smanjenim radom na održavanju za programere.

Na kraju se spominje da će verzija 2.1 vidjeti prepisivanje koda sa kojim programeri pretpostavljaju da će imati nekoliko novih karakteristika, kao i opšta poboljšanja performansi.

Ako ste zainteresovani da saznate više o tome, možete pogledati detalje Na sledećem linku.


Dodaj kao preferirani izvor na Googleu