Воведено е изданието на алатката за градење на Qbs 2.0. За да се изгради Qbs, Qt е потребен како зависност, иако самиот Qbs е дизајниран да организира склопување на какви било проекти. Qbs користи поедноставена верзија на јазикот QML за да ги дефинира скриптите за изградба на проекти, што ви овозможува да дефинирате прилично флексибилни правила за градење во кои може да се поврзат надворешни модули, може да се користат функции на JavaScript и може да се креираат произволни правила за градење.
Јазикот за скриптирање што се користи во Qbs е прилагоден да го автоматизира генерирањето и парсирањето на скрипти за градење од страна на IDE. Покрај тоа, Qbs не генерира мејк-датотеки, а самиот, без посредници како што е алатката за правење, го контролира стартувањето на компајлери и поврзувачи, оптимизирајќи го процесот на градење врз основа на детален график на сите зависности. Присуството на првични податоци за структурата и зависностите во проектот ви овозможува ефективно да го паралелизирате извршувањето на операциите во неколку нишки. За големи проекти што се состојат од голем број датотеки и поддиректориуми, перформансите за обнова со помош на Qbs може да ги надминат перформансите за неколку пати - обновата е скоро моментална и не го тера развивачот да троши време на чекање.
Потсетиме дека во 2018 година, компанијата Qt одлучи да престане да го развива Qbs. Qbs беше развиен како замена за qmake, но на крајот беше одлучено да се користи CMake како главен систем за градење на Qt на долг рок. Развојот на Qbs сега продолжи како независен проект поддржан од силите на заедницата и заинтересираните развивачи. Инфраструктурата на компанијата Qt продолжува да се користи за развој.
Значајна промена во бројот на верзијата е поврзана со имплементацијата на нов заден дел од JavaScript, кој го замени QtScript, кој беше застарен во Qt 6. Се сметаше дека е нереално да се продолжи самостојното да се одржува QtScript поради сложените врзувања за JavaScriptCore, така што само -доволно и компактно беше избрано како основа за новиот заднински QuickJS JavaScript мотор создаден од Фабрис Белард, кој ги основа проектите QEMU и FFmpeg. Моторот ја поддржува спецификацијата ES2019 и значително ги надминува постојните колеги во перформансите (XS за 35%, DukTape за повеќе од два пати, JerryScript за три пати и MuJS за седум пати).
Од гледна точка на развојот на скрипти за градење, преминот кон нов мотор не треба да доведе до забележителни промени. Перформансите исто така ќе останат приближно исти. Од разликите, има построги барања во новиот мотор за употреба на нула вредности, што може да открие проблеми во постоечките проекти кои останале незабележани при користење на QtScript.
Извор: opennet.ru
