Qt Company om översÀttning av grenen till alpha-testningsstadiet. Qt 6 inkluderar betydande arkitektoniska förÀndringar, och för att bygga krÀvs en kompilator som stöder C++17-standarden. UtslÀppet till den 1 december 2020.
Nyckel Qt 6:
- Abstrakterad grafik-API, oberoende av 3D API för operativsystemet. En nyckelkomponent i den nya grafiska stapeln i Qt Àr scenrenderingsmotorn, som anvÀnder RHI (Rendering Hardware Interface) för att möjliggöra att Qt Quick-appar fungerar inte bara med OpenGL, utan ocksÄ över Vulkan-, Metal- och Direct 3D-API:er.
- Qt Quick 3D-modulen med API för att skapa anvÀndargrÀnssnitt baserat pÄ Qt Quick, som kombinerar 2D- och 3D-grafikelement. Qt Quick 3D gör det möjligt att anvÀnda QML för att definiera 3D-element i grÀnssnitt utan att anvÀnda UIP-formatet. I Qt Quick 3D kan bÄde 2D och 3D anvÀnda en enda runtime (Qt Quick), en enda scenlayout och en enda animationsramverk, och för visuell utveckling av grÀnssnitt anvÀnda Qt Design Studio. Modulen löser problem som stora overheadkostnader vid integration av QML med innehÄll frÄn Qt 3D eller 3D Studio, och ger möjlighet till synkronisering av animationer och transformationer pÄ nivÄ av individuella bilder mellan 2D och 3D.
- Omstrukturering av kodbasen med uppdelning i mindre bestÄndsdelar och minskning av storleken pÄ den grundlÀggande produkten. Verktyg för utvecklare och specialiserade komponenter kommer att levereras som tillÀgg, distribuerade via en katalogbutik. .
- Betydande uppgradering av QML:
- Stöd för strikt typning.
- Möjlighet att kompilera QML till C++-representation och maskinkod.
- ĂvergĂ„ng av fullt stöd för JavaScript till alternativ (anvĂ€ndning av en fullt funktionell JavaScript-motor krĂ€ver mycket resurser, vilket hindrar anvĂ€ndningen av QML pĂ„ hĂ„rdvara som mikrokontrollerar).
- Avskaffande av versionering i QML.
- Uppslagning av datatyper som dupliceras i QObject och QML (kommer att minska minnesanvÀndningen och snabba upp uppstarten).
- ĂvergĂ„ng frĂ„n generering av datatyper vid körning till generering vid kompilering.
- Dölj interna komponenter genom att anvÀnda privata metoder och egenskaper.
- FörbÀttrad integration med utvecklingsverktyg för refaktorering och feldiagnoser under kompilering.
- TillÀgg av verktyg för behandling av grafikrelaterade resurser under kompilering, till exempel för att konvertera PNG-bilder till komprimerade texturer eller för att konvertera shaders och mesh till optimerade binÀra format för specifik hÄrdvara.
- Integrering av en enhetlig motor för teman och stilar, vilket möjliggör det utseende som applikationer baserade pÄ Qt Widgets och Qt Quick fÄr pÄ olika mobila och stationÀra plattformar.
- Som byggsystem har man beslutat att anvÀnda CMake istÀllet för QMake. Stöd för att bygga applikationer med hjÀlp av QMake kommer att kvarstÄ, men sjÀlva Qt kommer att byggas med CMake. CMake valdes eftersom det har blivit allmÀnt anvÀnt bland utvecklare av C++-projekt och stöds i mÄnga integrerade utvecklingsmiljöer. Utvecklingen av byggsystemet Qbs, som syftade till att ersÀtta QMake, av gemenskapen.
- ĂvergĂ„ngen vid utvecklingen till standard C++17 (tidigare anvĂ€ndes C++98). I Qt 6 planerar man att implementera stöd för mĂ„nga moderna C++-funktioner, men utan att förlora bakĂ„tkompatibiliteten med kod baserad pĂ„ tidigare standarder.
- Möjlighet att anvÀnda viss funktionalitet i C++-kod, erbjuden för QML och Qt Quick. En ny egenskapssystem för QObject och liknande klasser kommer ocksÄ att presenteras. En motor för att arbeta med bindningar kommer att integreras frÄn QML till Qt-kÀrnan, vilket minskar belastningen och minnesanvÀndningen för bindningar och gör dem tillgÀngliga för alla delar av Qt, inte bara Qt Quick.
- Utvidgning av stödet för ytterligare sprÄk, sÄsom Python och WebAssembly.
KĂ€lla: opennet.ru
