Vrystelling van Qbs 1.21-bougereedskap en begin van Qt 6.3-toetsing

Die vrystelling van Qbs 1.21-bougereedskap is aangekondig. Dit is die agtste vrystelling sedert die Qt Company die ontwikkeling van die projek verlaat het, voorberei deur die gemeenskap wat belangstel om die ontwikkeling van Qbs voort te sit. Om Qbs te bou, word Qt onder die afhanklikhede vereis, hoewel Qbs self ontwerp is om die samestelling van enige projekte te organiseer. Qbs gebruik 'n vereenvoudigde weergawe van die QML-taal om projekbou-skrifte te definieer, wat jou toelaat om redelik buigsame boureëls te definieer wat eksterne modules kan verbind, JavaScript-funksies kan gebruik en pasgemaakte boureëls kan skep.

Die skriftaal wat in Qbs gebruik word, is aangepas om die generering en ontleding van bouskrifte deur IDE's te outomatiseer. Daarbenewens genereer Qbs nie make-lêers nie, en self, sonder tussengangers soos die make-nutsmiddel, beheer die bekendstelling van samestellers en skakelaars, wat die bouproses optimaliseer gebaseer op 'n gedetailleerde grafiek van alle afhanklikhede. Die teenwoordigheid van aanvanklike data oor die struktuur en afhanklikhede in die projek laat jou toe om die uitvoering van bedrywighede in verskeie drade effektief te paralleliseer. Vir groot projekte wat uit 'n groot aantal lêers en subgidse bestaan, kan die werkverrigting van herbou met behulp van Qbs 'n paar keer beter presteer as make - die herbou is amper oombliklik en laat die ontwikkelaar nie tyd spandeer om te wag nie.

Onthou dat die Qt Company in 2018 besluit het om op te hou om Qbs te ontwikkel. Qbs is ontwikkel as 'n plaasvervanger vir qmake, maar uiteindelik is besluit om CMake op die langtermyn as die hoofboustelsel vir Qt te gebruik. Die ontwikkeling van Qbs het nou voortgegaan as 'n onafhanklike projek wat deur gemeenskapsmagte en belangstellende ontwikkelaars ondersteun word. Die Qt Company-infrastruktuur word steeds vir ontwikkeling gebruik.

Sleutelinnovasies in Qbs 1.21:

  • Die meganisme van moduleverskaffers (module-opwekkers) is herontwerp. Vir raamwerke soos Qt en Boost is dit nou moontlik om meer as een verskaffer te gebruik, te spesifiseer watter verskaffer om met die nuwe qbsModuleProviders-eienskap te gebruik, en 'n prioriteit te spesifiseer vir die keuse van modules wat deur verskillende verskaffers gegenereer word. Byvoorbeeld, jy kan twee verskaffers "Qt" en "qbspkgconfig" spesifiseer, waarvan die eerste die gebruiker se installasie van Qt sal probeer gebruik (via 'n qmake-soektog), en as geen sodanige installasie gevind word nie, sal die tweede verskaffer probeer om gebruik die Qt wat deur die stelsel verskaf word (via 'n oproep na pkg-config) : CppApplication { Depends { name: "Qt.core" } lêers: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Het die "qbspkgconfig"-verskaffer bygevoeg, wat die "terugval"-moduleverskaffer vervang het, wat gepoog het om 'n module te genereer met behulp van pkg-config as die gevraagde module nie deur ander verskaffers gegenereer is nie. Anders as "terugval", gebruik "qbspkgconfig" in plaas daarvan om die pkg-config-nutsprogram te roep 'n ingeboude C++-biblioteek om ".pc"-lêers direk te lees, wat werk versnel en addisionele inligting verskaf oor pakketafhanklikhede wat nie beskikbaar is wanneer die pkg-config nut.
  • Bygevoeg ondersteuning vir die C++23-spesifikasie, wat die toekomstige C++-standaard definieer.
  • Bygevoeg ondersteuning vir die Elbrus E2K argitektuur vir die GCC toolkit.
  • Vir die Android-platform is die Android.ndk.buildId-eienskap bygevoeg om die verstekwaarde vir die "--build-id"-skakelvlag te ignoreer.
  • Die capnproto- en protobuf-modules implementeer die vermoë om looptye te gebruik wat deur die qbspkgconfig-verskaffer verskaf word.
  • Probleme opgelos met veranderingsopsporing in bronlêers op FreeBSD as gevolg van millisekondes wat laat val word wanneer lêerwysigingstye geskat word.
  • Het die ConanfileProbe.verbose-eienskap bygevoeg om dit makliker te maak om projekte te ontfout wat die Conan-pakketbestuurder gebruik.

Daarbenewens kan ons kennis neem van die begin van alfa-toetsing van die Qt 6.3-raamwerk, wat 'n nuwe module "Qt Language Server" implementeer met ondersteuning vir die Language Server en JsonRpc 2.0 protokolle, 'n groot gedeelte van nuwe funksies is by die Qt Core gevoeg module, en die QML-tipe MessageDialog is in die Qt Quick Dialogs-module geïmplementeer Om die dialoogkassies wat deur die platform verskaf word, te gebruik, is 'n saamgestelde Qt Shell-bediener en 'n API vir die skep van jou eie pasgemaakte dop-uitbreidings by die Qt Wayland Compositor-module gevoeg .

Die Qt QML module bied 'n implementering van die qmltc (QML tipe samesteller) samesteller, wat jou toelaat om QML objekstrukture saam te stel in klasse in C++. Vir kommersiële gebruikers van Qt 6.3, het die toetsing van die Qt Quick Compiler-produk begin, wat, benewens die bogenoemde QML Type Compiler, die QML Script Compiler insluit, wat jou toelaat om QML funksies en uitdrukkings saam te stel in C++ kode. Daar word kennis geneem dat die gebruik van Qt Quick Compiler die werkverrigting van QML-gebaseerde programme nader aan inheemse programme sal bring; veral wanneer uitbreidings saamgestel word, is daar 'n vermindering in opstart- en uitvoeringstyd met ongeveer 30% in vergelyking met die gebruik van die geïnterpreteerde weergawe .

Bron: opennet.ru

Voeg 'n opmerking