Qbs 2.0 montāžas instrumenta atbrīvošana

Ir paziņots par Qbs 2.0 montāžas rīku izlaišanu. Lai izveidotu Qbs, starp atkarībām ir nepieciešams Qt, lai gan pats Qbs ir paredzēts, lai organizētu jebkuru projektu montāžu. Qbs izmanto vienkāršotu QML valodas versiju, lai definētu projektu veidošanas skriptus, kas ļauj definēt diezgan elastīgus veidošanas noteikumus, kas var savienot ārējos moduļus, izmantot JavaScript funkcijas un izveidot pielāgotas veidošanas kārtulas.

Qbs izmantotā skriptu valoda ir pielāgota, lai automatizētu IDE veidoto skriptu ģenerēšanu un parsēšanu. Turklāt Qbs neģenerē makefailus un pats bez starpniekiem, piemēram, make utilīta, kontrolē kompilatoru un saišu palaišanu, optimizējot veidošanas procesu, pamatojoties uz detalizētu visu atkarību grafiku. Sākotnējo datu klātbūtne par struktūru un atkarībām projektā ļauj efektīvi paralēli veikt operācijas vairākos pavedienos. Lieliem projektiem, kas sastāv no liela skaita failu un apakšdirektoriju, atjaunošanas veiktspēja, izmantojot Qbs, var vairākas reizes pārspēt veiktspēju - pārbūve notiek gandrīz acumirklī un neliek izstrādātājam tērēt laiku gaidīšanai.

Atgādiniet, ka 2018. gadā uzņēmums Qt nolēma pārtraukt Qbs izstrādi. Qbs tika izstrādāts kā qmake aizstājējs, taču galu galā tika nolemts izmantot CMake kā galveno Qt veidošanas sistēmu ilgtermiņā. Qbs izstrāde tagad ir turpinājusies kā neatkarīgs projekts, ko atbalsta kopienas spēki un ieinteresētie izstrādātāji. Attīstībai turpina izmantot Qt Company infrastruktūru.

Būtiskas izmaiņas versijas numurā ir saistītas ar jaunas JavaScript aizmugursistēmas ieviešanu, kas aizstāja QtScript, kas tika pasludināts par novecojušu Qt 6. Tika uzskatīts par nereālu turpināt uzturēt QtScript atsevišķi, jo ir sarežģīti saistījumi ar JavaScriptCore, tāpēc pašpietiekama un kompakta tika izvēlēta par pamatu jaunajai aizmugursistēmai QuickJS JavaScript dzinēju izveidoja Fabrice Bellard, kurš nodibināja QEMU un FFmpeg projektus. Dzinējs atbalsta ES2019 specifikāciju un ir ievērojami labāks par esošajiem analogiem (XS par 35%, DukTape vairāk nekā divas reizes, JerryScript trīs reizes un MuJS septiņas reizes).

No montāžas skriptu izstrādes viedokļa pārejai uz jaunu dzinēju nevajadzētu radīt ievērojamas izmaiņas. Arī produktivitāte saglabāsies aptuveni tādā pašā līmenī. Starp atšķirībām ir stingrākas prasības jaunajā dzinējā nulles lietošanai, kas var atklāt problēmas esošajos projektos, kas palika nepamanītas, izmantojot QtScript.

Avots: opennet.ru

Pievieno komentāru