Første testutgave av Qt 6

Qt Company har publisert den første testversjonen av den nye Qt 6-grenen, der det vil bli foreslått betydelige arkitektoniske endringer, og for å bygge den vil en kompilator som støtter C++17-standarden være nødvendig. Utgivelsen inkluderer bare det innledende rammeverket for den fremtidige Qt 6-utgivelsen, som er planlagt per 1. desember 2020. Funksjonaliteten i Qt 6-grenen vil bli utvidet frem til kunngjøringen av frysing av kodebasen 31. august.

Den første testutgivelsen inkluderer moduler:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL, og
Qt Test.

Nøkkelfunksjoner i Qt 6:

  • Abstrakt grafisk API som ikke er avhengig av 3D-API-er i operativsystemet. En sentral komponent i den nye grafikkstakken til Qt er scenegjengivelsesmotoren, som bruker et RHI (Rendering Hardware Interface) lag for å muliggjøre at Qt Quick-applikasjoner fungerer ikke bare med OpenGL, men også med API-er som Vulkan, Metal og Direct 3D.
  • Qt Quick 3D-modulen med API for å lage brukergrensesnitt basert på Qt Quick, som kombinerer 2D- og 3D-grafikk. Qt Quick 3D gjør det mulig å bruke QML for å definere 3D-elementer i grensesnitt uten å bruke UIP-formatet. I Qt Quick 3D kan man bruke en runtime (Qt Quick), en sceneoppsett og en animasjonsrammeverk for både 2D og 3D, og for visuell utvikling av grensesnittet kan man bruke Qt Design Studio. Modulen adresserer problemer som store overhead-kostnader ved integrering av QML med innhold fra Qt 3D eller 3D Studio, og gir mulighet for synkronisering av animasjoner og transformasjoner på nivået av individuelle rammer mellom 2D og 3D.
  • Omstrukturering av kodebasen med deling i mindre deler og reduksjon av størrelsen på hovedproduktet. Verktøy for utviklere og spesialiserte komponenter vil bli levert som tillegg som distribueres gjennom katalogbutikken Qt Marketplace.
  • Betydelig oppgradering av QML:
    • Støtte for streng typetilordning.
    • Mulighet for å kompilere QML til C++ og maskinkode.
    • Full støtte for JavaScript overføres til valgmuligheter (bruk av en fullverdig JavaScript-motor krever store ressurser, noe som hindrer bruken av QML på maskinvare som mikrokontrollere).
    • Oppgivelse av versjonering i QML.
    • Enhetliggjøring av datakonstruksjoner som er duplisert i QObject og QML (vil redusere minneforbruket og akselerere oppstart).
    • Overgang fra generering av datakonstruksjoner under kjøring til generering under kompilering.
    • Skjuling av interne komponenter gjennom bruk av private metoder og egenskaper.
    • Forbedret integrasjon med utviklingsverktøy for refaktorisering og feildiagnostikk under kompilering.
  • Legg til verktøy for behandling av grafikkrelaterte ressurser under kompileringen, for eksempel for å konvertere PNG-bilder til komprimerte teksturer eller for å konvertere shader og modeller til optimaliserte binærformater for spesifikkt utstyr.
  • Inkludering av en enhetlig motor for temaer og stiler, som gir apper basert på Qt Widgets og Qt Quick et utseende som er innebygd for ulike mobil- og skrivebordsplattformer.
  • Som byggesystem ble det besluttet å bruke CMake i stedet for QMake. Støtte for bygging av applikasjoner med QMake vil bli bevart, men selve Qt vil bli bygget ved hjelp av CMake. CMake ble valgt fordi dette verktøyet har fått bred utbredelse blant utviklere av C++-prosjekter og støttes i mange integrerte utviklingsmiljøer. Utviklingen av byggesystemet Qbs, som krevde å erstatte QMake, fortsetter samfunnet.
  • Overgangen til å utvikle med standard C++17 (tidligere brukt C++98). I Qt 6 planlegger man å implementere støtte for mange moderne funksjoner i C++, men uten å miste bakoverkompatibilitet med koden basert på tidligere standarder.
  • Muligheten for å bruke visse funksjoner i C++-koden som tilbys for QML og Qt Quick. En ny eigenskapssystem for QObject og lignende klasser vil også bli presentert. Fra QML vil en motor for bindinger bli integrert i Qt-kjernen, noe som vil redusere belastningen og minneforbruket for bindingene og gjøre dem tilgjengelige for alle deler av Qt, ikke bare for Qt Quick.
  • Utvidelse av støtten for flere språk, som Python og WebAssembly.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster