Alfaversjon av Qt 6.0 tilgjengelig

Qt Company kunngjort om å oversette tråden Qt 6 til alfa-teststadiet. Qt 6 inkluderer betydelige arkitektoniske endringer og krever en kompilator som støtter C++17-standarden for å bygge. Utgivelse planlagt fra 1. desember 2020.

Nøkkel Spesifikasjoner Qt 6:

  • En abstrakt grafikk API som er uavhengig av operativsystemets 3D API. En nøkkelkomponent i den nye Qt-grafikkstakken er scenegjengivelsesmotoren, som bruker RHI-laget (Rendering Hardware Interface) for å drive Qt Quick-applikasjoner ikke bare med OpenGL, men også på toppen av Vulkan, Metal og Direct 3D APIene.
  • Qt Quick 3D-modul med API for å lage brukergrensesnitt basert på Qt Quick, som kombinerer 2D- og 3D-grafikkelementer. Qt Quick 3D lar deg bruke QML til å definere 3D-grensesnittelementer uten å bruke UIP-formatet. I Qt Quick 3D kan du bruke én kjøretid (Qt Quick), én scenelayout og én animasjonsramme for 2D og 3D, og ​​bruke Qt Design Studio for utvikling av visuell grensesnitt. Modulen løser problemer som store overhead ved integrering av QML med innhold fra Qt 3D eller 3D Studio, og gir mulighet til å synkronisere animasjoner og transformasjoner på rammenivå mellom 2D og 3D.
  • Omstrukturere kodebasen til mindre komponenter og redusere størrelsen på basisproduktet. Utviklerverktøy og spesialiserte komponenter vil bli levert som tillegg distribuert gjennom katalogbutikken Qt Marketplace.
  • Betydelig modernisering av QML:
    • Sterk skrivestøtte.
    • Evne til å kompilere QML til C++ representasjon og maskinkode.
    • Å gjøre full JavaScript-støtte til et alternativ (bruk av en fullfunksjons JavaScript-motor krever mye ressurser, noe som forhindrer bruk av QML på utstyr som mikrokontrollere).
    • Avslag på versjonskontroll i QML.
    • Forening av datastrukturer duplisert i QObject og QML (vil redusere minneforbruk og øke hastigheten på oppstart).
    • Å gå bort fra kjøretidsgenerering av datastrukturer til fordel for kompileringstidsgenerering.
    • Skjuling av interne komponenter gjennom bruk av private metoder og egenskaper.
    • Forbedret integrasjon med utviklingsverktøy for refactoring og kompileringstidsfeildiagnose.
  • Legge til verktøy for å behandle grafikkrelaterte eiendeler på kompileringstidspunktet, for eksempel å konvertere PNG-bilder til komprimerte teksturer eller konvertere shaders og mesh til optimaliserte binære formater for spesifikk maskinvare.
  • Bygge inn en enhetlig motor for temaer og stiler, slik at du kan oppnå utseendet til applikasjoner basert på Qt Widgets og Qt Quick, hjemmehørende på forskjellige mobile og stasjonære plattformer.
  • Det ble bestemt å bruke CMake i stedet for QMake som byggesystem. Støtte for å bygge applikasjoner ved hjelp av QMake vil bestå, men Qt selv vil bli bygget ved hjelp av CMake. CMake ble valgt fordi dette verktøysettet er mye brukt blant C++-prosjektutviklere og støttes i mange integrerte utviklingsmiljøer. Utvikling av Qbs-monteringssystemet, som hevdet å være en erstatning for QMake, fortsatte samfunnet.
  • Overgang til C++17-standarden under utvikling (tidligere ble C++98 brukt). Qt 6 planlegger å implementere støtte for mange moderne C++-funksjoner, men uten å miste bakoverkompatibilitet med kode basert på eldre standarder.
  • Muligheten til å bruke noe av funksjonaliteten som tilbys for QML og Qt Quick i C++-kode. Inkludert et nytt eiendomssystem for QObject og lignende klasser vil bli presentert. Fra QML skal det integreres en motor for arbeid med bindinger i Qt-kjernen, som vil redusere belastningen og minneforbruket for bindinger og gjøre dem tilgjengelige for alle deler av Qt, og ikke bare Qt Quick.
  • Utvidet støtte for flere språk som Python og WebAssembly.
  • Kilde: opennet.ru

Legg til en kommentar