Alfaversion av Qt 6.0 tillgänglig

Qt Company tillkännagav om att översätta tråden Qt 6 till alfateststadiet. Qt 6 innehåller betydande arkitektoniska förändringar och kräver en kompilator som stöder C++17-standarden för att bygga. Släpp schemalagd från och med 1 december 2020.

Nyckel särdrag Qt 6:

  • Ett abstrakt grafik-API som är oberoende av operativsystemets 3D API. En nyckelkomponent i den nya Qt-grafikstacken är scenerenderingsmotorn, som använder RHI-skiktet (Rendering Hardware Interface) för att driva Qt Quick-applikationer, inte bara med OpenGL, utan även ovanpå API:erna Vulkan, Metal och Direct 3D.
  • Qt Quick 3D-modul med API för att skapa användargränssnitt baserat på Qt Quick, som kombinerar 2D- och 3D-grafikelement. Qt Quick 3D låter dig använda QML för att definiera 3D-gränssnittselement utan att använda UIP-formatet. I Qt Quick 3D kan du använda en runtime (Qt Quick), en scenlayout och en animationsram för 2D och 3D, och använda Qt Design Studio för visuell gränssnittsutveckling. Modulen löser problem som stor overhead vid integration av QML med innehåll från Qt 3D eller 3D Studio, och ger möjlighet att synkronisera animationer och transformationer på ramnivå mellan 2D och 3D.
  • Omstrukturering av kodbasen till mindre komponenter och minskning av basproduktens storlek. Utvecklarverktyg och specialiserade komponenter kommer att tillhandahållas som tillägg distribuerade via katalogbutiken Qt Marketplace.
  • Betydande modernisering av QML:
    • Starkt skrivstöd.
    • Möjlighet att kompilera QML till C++ representation och maskinkod.
    • Att göra fullt JavaScript-stöd till ett alternativ (att använda en fullfjädrad JavaScript-motor kräver mycket resurser, vilket förhindrar användningen av QML på utrustning som mikrokontroller).
    • Avslag på versionshantering i QML.
    • Enhet av datastrukturer duplicerade i QObject och QML (kommer att minska minnesförbrukningen och påskynda uppstarten).
    • Att gå bort från runtimegenerering av datastrukturer till förmån för kompileringsgenerering.
    • Dölja interna komponenter genom användning av privata metoder och egenskaper.
    • Förbättrad integration med utvecklingsverktyg för refactoring och feldiagnos vid kompilering.
  • Lägga till verktyg för att bearbeta grafikrelaterade tillgångar vid kompilering, som att konvertera PNG-bilder till komprimerade texturer eller konvertera shaders och mesh till optimerade binära format för specifik hårdvara.
  • Inbädda en enhetlig motor för teman och stilar, så att du kan få utseendet på applikationer baserade på Qt Widgets och Qt Quick, inbyggt i olika mobila och stationära plattformar.
  • Det beslutades att använda CMake istället för QMake som byggsystem. Stöd för att bygga applikationer med QMake kommer att finnas kvar, men själva Qt kommer att byggas med CMake. CMake valdes eftersom denna verktygslåda används flitigt bland C++-projektutvecklare och stöds i många integrerade utvecklingsmiljöer. Utveckling av Qbs monteringssystem, som påstod sig vara en ersättning för QMake, förlängt gemenskap.
  • Övergång till C++17-standarden under utveckling (tidigare användes C++98). Qt 6 planerar att implementera stöd för många moderna C++-funktioner, men utan att förlora bakåtkompatibilitet med kod baserad på tidigare standarder.
  • Möjligheten att använda en del av de funktioner som erbjuds för QML och Qt Quick i C++-kod. Inklusive ett nytt fastighetssystem för QObject och liknande klasser kommer att presenteras. Från QML kommer en motor för att arbeta med bindningar att integreras i Qt-kärnan, vilket kommer att minska belastningen och minnesförbrukningen för bindningar och göra dem tillgängliga för alla delar av Qt, och inte bara Qt Quick.
  • Utökat stöd för ytterligare språk som Python och WebAssembly.
  • Källa: opennet.ru

Lägg en kommentar