Alfa-version af Qt 6.0 tilgængelig

Qt Company annonceret om at oversætte tråden Qt 6 til alfa-teststadiet. Qt 6 inkluderer betydelige arkitektoniske ændringer og kræver en compiler, der understøtter C++17-standarden for at bygge. Frigøre planlagt fra 1. december 2020.

Nøgle Egenskaber Qt 6:

  • En abstrakt grafik-API, der er uafhængig af operativsystemets 3D API. En nøglekomponent i den nye Qt-grafikstak er scenegengivelsesmotoren, som bruger RHI-laget (Rendering Hardware Interface) til at drive Qt Quick-applikationer, ikke kun med OpenGL, men også oven på Vulkan, Metal og Direct 3D API'erne.
  • Qt Quick 3D-modul med API til at skabe brugergrænseflader baseret på Qt Quick, der kombinerer 2D- og 3D-grafikelementer. Qt Quick 3D giver dig mulighed for at bruge QML til at definere 3D-grænsefladeelementer uden at bruge UIP-formatet. I Qt Quick 3D kan du bruge én runtime (Qt Quick), ét scenelayout og én animationsramme til 2D og 3D, og ​​bruge Qt Design Studio til udvikling af visuel grænseflade. Modulet løser problemer såsom store overhead ved integration af QML med indhold fra Qt 3D eller 3D Studio, og giver mulighed for at synkronisere animationer og transformationer på frame niveau mellem 2D og 3D.
  • Omstrukturering af kodebasen til mindre komponenter og reduktion af basisproduktets størrelse. Udviklerværktøjer og specialiserede komponenter vil blive leveret som tilføjelser distribueret gennem katalogbutikken Qt Marketplace.
  • Væsentlig modernisering af QML:
    • Stærk skrivestøtte.
    • Evne til at kompilere QML til C++-repræsentation og maskinkode.
    • At gøre fuld JavaScript-understøttelse til en mulighed (brug af en JavaScript-motor med alle funktioner kræver mange ressourcer, hvilket forhindrer brugen af ​​QML på udstyr såsom mikrocontrollere).
    • Afslag på versionering i QML.
    • Ensretning af datastrukturer duplikeret i QObject og QML (vil reducere hukommelsesforbrug og fremskynde opstart).
    • At bevæge sig væk fra runtime-generering af datastrukturer til fordel for kompileringstidsgenerering.
    • Skjulning af interne komponenter gennem brug af private metoder og egenskaber.
    • Forbedret integration med udviklingsværktøjer til refactoring og compile-time fejldiagnose.
  • Tilføjelse af værktøjer til at behandle grafikrelaterede aktiver på kompileringstidspunktet, såsom konvertering af PNG-billeder til komprimerede teksturer eller konvertering af shaders og mesh til optimerede binære formater til specifik hardware.
  • Indlejring af en samlet motor til temaer og stilarter, så du kan opnå udseendet af applikationer baseret på Qt Widgets og Qt Quick, der er hjemmehørende i forskellige mobile og desktop platforme.
  • Det blev besluttet at bruge CMake i stedet for QMake som byggesystem. Support til at bygge applikationer ved hjælp af QMake vil forblive, men Qt selv vil blive bygget ved hjælp af CMake. CMake blev valgt, fordi dette værktøjssæt er meget udbredt blandt C++ projektudviklere og understøttes i mange integrerede udviklingsmiljøer. Udvikling af Qbs-samlingssystemet, som hævdede at være en erstatning for QMake, fortsatte fællesskab.
  • Overgang til C++17-standarden under udvikling (tidligere blev C++98 brugt). Qt 6 planlægger at implementere understøttelse af mange moderne C++-funktioner, men uden at miste bagudkompatibilitet med kode baseret på ældre standarder.
  • Muligheden for at bruge nogle af de funktioner, der tilbydes til QML og Qt Quick i C++ kode. Herunder vil et nyt ejendomssystem for QObject og lignende klasser blive præsenteret. Fra QML vil en motor til at arbejde med bindinger blive integreret i Qt-kernen, som vil reducere belastningen og hukommelsesforbruget til bindinger og gøre dem tilgængelige for alle dele af Qt, og ikke kun Qt Quick.
  • Udvidet understøttelse af yderligere sprog som Python og WebAssembly.
  • Kilde: opennet.ru

Tilføj en kommentar