Qbs 2.0 montagetool vrijgave

Release Qbs 2.0 buildtool geïntroduceerd. Om Qbs te bouwen, is Qt vereist als afhankelijkheid, hoewel Qbs zelf is ontworpen om de assemblage van projecten te organiseren. Qbs gebruikt een vereenvoudigde versie van de QML-taal om projectbouwscripts te definiëren, waarmee u vrij flexibele bouwregels kunt definiëren waarin externe modules kunnen worden aangesloten, JavaScript-functies kunnen worden gebruikt en willekeurige bouwregels kunnen worden gemaakt.

De scripttaal die in Qbs wordt gebruikt, is aangepast om het genereren en ontleden van buildscripts door IDE's te automatiseren. Bovendien genereert Qbs geen makefiles en regelt het zelf, zonder tussenpersonen zoals het make-hulpprogramma, de lancering van compilers en linkers, waarbij het bouwproces wordt geoptimaliseerd op basis van een gedetailleerde grafiek van alle afhankelijkheden. Door de aanwezigheid van initiële gegevens over de structuur en afhankelijkheden in het project kunt u de uitvoering van bewerkingen in verschillende threads effectief parallelliseren. Voor grote projecten die uit een groot aantal bestanden en submappen bestaan, kan het opnieuw opbouwen met behulp van Qbs vele malen beter presteren dan make - het opnieuw opbouwen gebeurt vrijwel onmiddellijk en de ontwikkelaar hoeft niet lang te wachten.

Bedenk dat de Qt Company in 2018 besloot te stoppen met de ontwikkeling van Qbs. Qbs is ontwikkeld als vervanging voor qmake, maar uiteindelijk werd besloten om op de lange termijn CMake te gebruiken als het belangrijkste bouwsysteem voor Qt. De ontwikkeling van Qbs is nu voortgezet als een onafhankelijk project, ondersteund door gemeenschapskrachten en geïnteresseerde ontwikkelaars. De infrastructuur van Qt Company wordt nog steeds gebruikt voor ontwikkeling.

Een significante wijziging in het versienummer houdt verband met de implementatie van een nieuwe JavaScript-backend, die QtScript verving, dat in Qt 6 was verouderd. Het werd als onrealistisch beschouwd om QtScript alleen te blijven onderhouden vanwege complexe bindingen met JavaScriptCore, dus een zelf -voldoende en compacte werd gekozen als basis voor de nieuwe backend QuickJS JavaScript-engine gemaakt door Fabrice Bellard, die de QEMU- en FFmpeg-projecten oprichtte. De engine ondersteunt de ES2019-specificatie en presteert aanzienlijk beter dan zijn bestaande tegenhangers (XS met 35%, DukTape met meer dan twee keer, JerryScript met drie keer en MuJS met zeven keer).

Vanuit het oogpunt van de ontwikkeling van buildscripts zou de overgang naar een nieuwe engine niet tot merkbare veranderingen moeten leiden. Ook de prestaties zullen ongeveer hetzelfde blijven. Van de verschillen zijn er strengere vereisten in de nieuwe engine voor het gebruik van null-waarden, wat problemen in bestaande projecten kan onthullen die onopgemerkt bleven bij het gebruik van QtScript.

Bron: opennet.ru

Voeg een reactie