Paglabas ng tool sa pagpupulong ng Qbs 2.0

Ipinakilala ang Qbs 2.0 build tool release. Upang bumuo ng Qbs, kinakailangan ang Qt bilang dependency, bagama't ang Qbs mismo ay idinisenyo upang ayusin ang pagpupulong ng anumang mga proyekto. Gumagamit ang Qbs ng pinasimpleng bersyon ng wikang QML upang tukuyin ang mga script ng pagbuo ng proyekto, na nagbibigay-daan sa iyong tukuyin ang medyo flexible na mga panuntunan sa pagbuo kung saan maaaring ikonekta ang mga panlabas na module, magagamit ang mga function ng JavaScript, at maaaring gumawa ng mga arbitrary na panuntunan sa pagbuo.

Ang scripting language na ginamit sa Qbs ay inangkop para i-automate ang pagbuo at pag-parse ng mga build script ng mga IDE. Bilang karagdagan, ang Qbs ay hindi bumubuo ng mga makefile, at mismo, nang walang mga tagapamagitan tulad ng make utility, ay kumokontrol sa paglulunsad ng mga compiler at linker, na nag-o-optimize sa proseso ng pagbuo batay sa isang detalyadong graph ng lahat ng mga dependency. Ang pagkakaroon ng paunang data sa istraktura at mga dependency sa proyekto ay nagbibigay-daan sa iyo upang epektibong iparallelize ang pagpapatupad ng mga operasyon sa ilang mga thread. Para sa malalaking proyekto na binubuo ng malaking bilang ng mga file at subdirectory, ang muling pagtatayo ng pagganap gamit ang Qbs ay maaaring higit na gumanap ng maraming beses - ang muling pagtatayo ay halos madalian at hindi nagpapalipas ng oras sa paghihintay ang developer.

Alalahanin na noong 2018, nagpasya ang Qt Company na ihinto ang pagbuo ng Qbs. Ang Qbs ay binuo bilang kapalit ng qmake, ngunit sa huli ay napagpasyahan na gamitin ang CMake bilang pangunahing build system para sa Qt sa katagalan. Ang pagbuo ng Qbs ay nagpatuloy na ngayon bilang isang independiyenteng proyekto na sinusuportahan ng mga pwersa ng komunidad at mga interesadong developer. Ang imprastraktura ng Qt Company ay patuloy na ginagamit para sa pagpapaunlad.

Ang isang makabuluhang pagbabago sa numero ng bersyon ay nauugnay sa pagpapatupad ng isang bagong backend ng JavaScript, na pumalit sa QtScript, na hindi na ginagamit sa Qt 6. Itinuring na hindi makatotohanan ang patuloy na pagpapanatili ng QtScript nang mag-isa dahil sa mga kumplikadong pag-uugnay sa JavaScriptCore, kaya isang sarili -sapat at compact ang napili bilang batayan para sa bagong backend na QuickJS JavaScript engine na ginawa ni Fabrice Bellard, na nagtatag ng mga proyekto ng QEMU at FFmpeg. Sinusuportahan ng makina ang detalye ng ES2019 at higit na nahihigitan nito ang mga kasalukuyang katapat nito sa performance (XS ng 35%, DukTape ng higit sa dalawang beses, JerryScript ng tatlong beses, at MuJS ng pitong beses).

Mula sa punto ng view ng pagbuo ng mga script ng build, ang paglipat sa isang bagong engine ay hindi dapat humantong sa mga kapansin-pansin na pagbabago. Ang pagganap ay mananatiling halos pareho. Sa mga pagkakaiba, mayroong mas mahigpit na mga kinakailangan sa bagong engine para sa paggamit ng mga null value, na maaaring magbunyag ng mga problema sa mga kasalukuyang proyekto na hindi napapansin kapag gumagamit ng QtScript.

Pinagmulan: opennet.ru

Magdagdag ng komento