Første testudgivelse af Qt 6

Qt Company offentliggjorde Den første testudgave af den nye Qt 6-gren, hvor væsentlige arkitektoniske ændringer vil blive tilbudt, og for at bygge kræves en compiler, der understøtter C++17-standarden. Udgaven indeholder kun skelet af den fremtidige Qt 6-udgivelse, som er planlagt den 1. december 2020. Funktionaliteten i Qt 6-grenen vil blive udvidet indtil kodens frysefrist den 31. august.

Den første testbygning 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øglepunkter funktioner Qt 6:

  • Et abstrakt grafisk API, der ikke afhænger af et 3D API fra operativsystemet. En central komponent i den nye grafiske stak i Qt er scenegengivelsesmotoren, der bruger et RHI (Rendering Hardware Interface) lag for at sikre, at Qt Quick-applikationer fungerer ikke kun med OpenGL, men også med API'er som Vulkan, Metal og Direct 3D.
  • Qt Quick 3D-modulet med API til oprettelse af brugergrænseflader baseret på Qt Quick, som kombinerer elementer af 2D- og 3D-grafik. Qt Quick 3D gør det muligt at bruge QML til at definere 3D-elementer i grænseflader uden brug af UIP-formatet. I Qt Quick 3D kan én runtime (Qt Quick), én scenelayout og én animationsrammeværk bruges til både 2D og 3D, og Qt Design Studio kan anvendes til visuel udvikling af grænsefladen. Modulet adresserer problemer som store omkostninger ved integrering af QML med indhold fra Qt 3D eller 3D Studio og giver mulighed for synkronisering af animationer og transformationer på niveauet for individuelle rammer mellem 2D og 3D.
  • Omstrukturering af kodebasen med opdeling i mindre komponenter og reduktion af størrelsen på det grundlæggende produkt. Udviklerværktøjer og specialiserede komponenter vil blive leveret som udvidelser, der distribueres gennem katalogbutikken Qt Marketplace.
  • Væsentlig opgradering af QML:
    • Understøttelse af streng typificering.
    • Mulighed for at kompilere QML til en repræsentation i C++ og maskinkode.
    • Overførsel af fuld støtte til JavaScript til at være en valgmulighed (brug af en fuldfunktionel JavaScript-motor kræver store ressourcer, hvilket begrænser anvendelsen af QML på hardware som mikrokontrollere).
    • Afbrydelse af versionering i QML.
    • Unificering af data strukturer, der duplikeres i QObject og QML (vil reducere hukommelsesforbruget og fremskynde opstart).
    • Afvikling af generering af datastrukturer under kørsel til fordel for generation under kompilering.
    • Skjuling af interne komponenter ved hjælp af private metoder og egenskaber.
    • Forbedret integration med udviklingsværktøjer til refaktorering og diagnose af fejl under kompilering.
  • Tilføjelse af værktøjer til behandling af grafisk relaterede ressourcer under kompilering, for eksempel til konvertering af PNG-billeder til komprimerede teksturer eller til konvertering af shaders og meshes til optimerede binære formater til specifikt udstyr.
  • Indbygning af en sammenhængende motor til temaer og stilarter, der gør det muligt at opnå et udseende for applikationer baseret på Qt Widgets og Qt Quick, der er indfødt for forskellige mobile og stationære platforme.
  • Som byggesystem er der valgt CMake i stedet for QMake. Støtte til at bygge applikationer ved hjælp af QMake vil blive bevaret, men selve Qt vil blive bygget med CMake. CMake er valgt, da dette værktøj har fået bred udbredelse blandt udviklere af C++-projekter og støttes af mange integrerede udviklingsmiljøer. Udviklingen af byggesystemet Qbs, som havde til formål at erstatte QMake, blev fortsat af samfundet.
  • Overgang til standarden C++17 (tidligere anvendt C++98). I Qt 6 planlægges det at implementere støtte for mange moderne funktioner i C++, men uden at miste bagudkompatibilitet med kode baseret på tidligere standarder.
  • Muligheden for at bruge en vis funktionalitet i C++-kode, der tilbydes til QML og Qt Quick. Der vil blandt andet blive præsenteret et nyt ejendomssystem for QObject og lignende klasser. En motor til bindinger vil blive integreret fra QML til Qt-kernen, hvilket vil mindske belastningen og hukommelsesforbruget for bindinger og gøre dem tilgængelige for alle dele af Qt, ikke kun for Qt Quick.
  • Udvidelse af understøttelsen af yderligere sprog som Python og WebAssembly.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster