De nieuwe versie van het QBS 2.0 compilatiesysteem komt eraan

QbS

Qbs is een door de gemeenschap aangestuurd, taalonafhankelijk automatiseringssysteem. Het is snel en biedt een gemakkelijk te leren taal op basis van QML.

onlangs de release van de nieuwe versie van Qbs 2.0 werd aangekondigd, dat is gratis en open source platformonafhankelijke software voor het beheer van het softwarecreatieproces. Het is ontworpen om grote en complexe projecten te ondersteunen, geschreven in verschillende programmeertalen, voornamelijk C/C++.

De nieuwe versie 2.0 is significant qua versienummer, omdat het verband houdt met de implementatie van een nieuwe JavaScript-backend., dat QtScript verving, dat was verouderd in Qt 6.

Voor degenen die niet op de hoogte zijn van Qbs, ze moeten weten dat dit gebruikt een vereenvoudigde versie van de QML-taal om scripts voor het bouwen van projecten te definiëren, waardoor u vrij flexibele bouwregels kunt definiëren waar externe modules kunnen worden aangesloten, JavaScript-functies kunnen worden gebruikt en willekeurige bouwregels kunnen worden gemaakt.

Daarin is Qbs unieke heeft geen enkel mechanisme voor interne compilaties, zorgen voor de mogelijkheid om meerdere builds te maken vanuit een enkele bronboom, inclusief het bouwen vanuit een enkele opdrachtaanroep en parallel.

Dit is een belangrijk kenmerk, dat zorgt ervoor dat bronbestanden niet worden beïnvloed als een build-directory wordt verwijderd en dat er geen uitvoerartefacten naar de bronmap worden geschreven. Om Qbs te bouwen, is Qt vereist als afhankelijkheid, hoewel Qbs zelf is ontworpen om de assemblage van elk project te organiseren.

De scripttaal die in Qbs wordt gebruikt, is op maat gemaakt om het genereren en ontleden van buildscripts door IDE's te automatiseren. Bovendien genereert Qbs geen makefiles en regelt het, zonder tussenpersonen zoals het make-hulpprogramma, de vrijgave van compilers en linkers, waardoor 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, kunnen de prestaties van het opnieuw opbouwen met behulp van Qbs vele malen beter zijn dan het maken: het opnieuw opbouwen gebeurt vrijwel onmiddellijk en verspilt geen tijd aan wachten van de ontwikkelaar.

Belangrijkste nieuwigheden van QBS 2.0

Deze nieuwe release van QBS 2.0 is opmerkelijk, zoals aan het begin vermeld, vanwege de nieuwe JavaScript-engine die QtScript komt vervangen die was verouderd voor Qt 6, omdat het als onrealistisch werd beschouwd om QtScript alleen te blijven ondersteunen vanwege complexe bindingen met JavaScriptCore.

Het vooruitzicht om QtScript te behouden met zijn complexe afhankelijkheid leek niet erg aantrekkelijk. Geen van beide kandidaten bood echter een API om eigendomstoegang te onderscheppen, iets wat de ontwikkelaars absoluut nodig hebben om prestatieredenen.

Vanuit het oogpunt van de gebruiker mogen er geen merkbare veranderingen zijn; met name de prestaties lijken ongeveer hetzelfde te zijn. QtScript was echter vrij soepel in het accepteren van ongedefinieerde waarden in contexten waar dat niet nodig was, dus de nieuwe implementatie kan enkele bugs in uw projecten aan het licht brengen.

De motor voldoet aan 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 moeten resulteren in merkbare veranderingen.

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.

Daarnaast wordt ook vermeld dat: verwijderde qmake-projectbestanden, wat resulteerde in minder onderhoudswerk voor ontwikkelaars.

Ten slotte wordt vermeld dat versie 2.1 een herschrijving van de code zal zien, waarmee de ontwikkelaars veronderstellen dat ze verschillende nieuwe functies zullen hebben, evenals algemene prestatieverbeteringen.

Als u er meer over wilt weten, kunt u de details raadplegen In de volgende link.


Voeg dit toe als voorkeursbron in Google.