Vydání nástrojů pro sestavení Qbs 2.0

Byl představen vydání nástroje pro sestavení Qbs 2.0. K sestavení Qbs je jako závislost vyžadováno Qt, i když samotný Qbs je navržen pro organizaci sestavení jakýchkoli projektů. Qbs používá zjednodušenou variantu jazyka QML pro definici skriptů pro sestavení projektu, což umožňuje definovat dostatečně flexibilní pravidla sestavení, ve kterých lze připojovat externí moduly, používat funkce v JavaScriptu a vytvářet libovolná pravidla pro sestavení.

Jazyk skriptování použitý v Qbs je přizpůsoben pro automatizaci generování a analýzy scénářů sestavení integrovanými vývojovými prostředími. Navíc Qbs nevytváří make-soubory, ale sám, bez prostředníků, jako je nástroj make, řídí spuštění kompilátorů a linkerů, optimalizuje proces sestavení na základě detailního grafu všech závislostí. Disponování počátečními daty o struktuře a závislostech v projektu umožňuje efektivně paralelizovat provádění operací na více vláknech. Pro velké projekty složené z mnoha souborů a podsložek může výkon opakované sestavení pomocí Qbs mnohonásobně překonat make — opětovná sestavení probíhají téměř okamžitě a nezdržují vývojáře čekáním.

Připomínáme, že v roce 2018 se společnost Qt Company rozhodla ukončit vývoj Qbs. Qbs byl vyvíjen jako náhrada za qmake, ale nakonec bylo rozhodnuto používat CMake jako hlavní systém sestavení pro Qt v dlouhodobém horizontu. Vývoj Qbs nyní pokračuje v rámci nezávislého projektu, podporovaného komunitou a zainteresovanými vývojáři. Pro vývoj se zatím stále používá infrastruktura Qt Company.

Významná změna čísla verze je spojena s realizací nového JavaScriptového backendu, který nahradil QtScript, jež byl prohlášen za zastaralý v Qt 6. Pokračovat v udržování QtScript svépomocí kvůli složitým vazbám na JavaScriptCore bylo uznáno za nerealistické, proto byla jako základ pro nový backend zvolena soběstačná a kompaktní JavaScriptová platforma QuickJS, kterou vytvořil Fabrice Bellard, zakladatel projektů QEMU a FFmpeg. Tento engine podporuje specifikaci ES2019 a v oblasti výkonu výrazně překonává dostupné alternativy (XS o 35%, DukTape více než dvakrát, JerryScript třikrát a MuJS sedmkrát).

Z hlediska vývoje skriptů pro sestavení by přechod na nový engine neměl vést k výrazným změnám. Výkon zůstane také přibližně na stejné úrovni. Z rozdílů se vyzdvihují přísnější požadavky nového enginu na používání neurčitých hodnot, což může odhalit problémy v existujících projektech, které zůstávaly při používání QtScriptu bez povšimnutí.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster