Utvecklingsplanen för funktionalitet i Qt 6 har publicerats

Lars Knoll, skaparen av KHTML-motorn, projektledaren för Qt Project och teknisk chef pÄ Qt Company, berÀttade diskuterar planerna för att skapa nÀsta betydande version av Qt-ramverket. Efter slutförandet av funktionaliteten i Qt 5.14 kommer utvecklingen att fokusera pÄ att förbereda lanseringen av Qt 6, som vÀntas i slutet av 2020.

Qt 6 kommer att utvecklas med sikte pÄ att sÀkerstÀlla kompatibilitet med Qt 5, men problem kan uppstÄ, eftersom de planerade arkitektoniska förÀndringarna och rensningen inte kan genomföras utan att förlora en viss nivÄ av kompatibilitet. För att underlÀtta övergÄngen planeras vissa funktioner av Qt 6 att inkluderas i begrÀnsad form i versionerna Qt 5.14 och Qt 5.15 LTS. Dessutom kommer verktyg att förberedas för att förenkla migreringen till Qt 6.

Bland de viktigaste mÄlen för nÀsta betydande version nÀmns att anpassa funktionaliteten till kraven 2020, rensa kodbasen och förenkla projektunderhÄllet. FörvÀntade förÀndringar:

  • 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 felsökning under kompileringen;
  • TillĂ€gg av ett nytt abstrakt lager för Rendering Hardware Interface (RHI) för att möjliggöra sömlös anvĂ€ndning av olika grafiska API:er, inklusive OpenGL, Vulkan, Metal och Direct 3D (tidigare var Qt endast kopplat till OpenGL). All befintlig renderinginfrastruktur, inklusive QPainter, Qt Quick Scenegraph och Qt3D, kommer att översĂ€ttas till att anvĂ€nda RHI. Det planeras ocksĂ„ att lĂ€gga till en modul för Qt Shader Tools för att stödja olika shaderutvecklingssprĂ„k och möjliggöra korskompilering av shaders bĂ„de vid byggtillfĂ€llet och under programets körning;
  • Förberedelse av ett enhetligt API för att skapa anvĂ€ndargrĂ€nssnitt som kombinerar element av 2D- och 3D-grafik. Det nya API:et kommer att tillĂ„ta anvĂ€ndning av QML för att definiera 3D-element i grĂ€nssnitt utan att anvĂ€nda UIP-formatet. I det nya grĂ€nssnittet för integration av 3D-innehĂ„ll med Qt Quick planeras det att lösa problem som stora overheadkostnader vid integration av QML med innehĂ„ll frĂ„n Qt 3D eller 3D Studio, och oförmĂ„ga att synkronisera animationer och transformationer pĂ„ nivĂ„ av enskilda ramar mellan 2D och 3D. Samtidig inbĂ€ddad rendering av 2D och 3D kommer att genomföras med hjĂ€lp av den nya renderingsmotorn. En första implementering av nya Qt Quick med stöd för 3D förvĂ€ntas i utgĂ„van av Qt 5.14;
  • TillĂ€gg av verktyg för behandling av grafikrelaterade resurser vid 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;
  • InbĂ€ddning av en enhetlig motor för teman och stilar, som möjliggör att appar baserade pĂ„ Qt Widgets och Qt Quick fĂ„r ett utseende som Ă€r inhemskt för olika mobila och stationĂ€ra plattformar;
  • Enhetliggörande av verktyg för skapande av anvĂ€ndargrĂ€nssnitt. För att eliminera duplicering av funktionalitet och avsluta distributionen av tvĂ„ separata produkter, förvĂ€ntas integration av funktionaliteten frĂ„n Qt 3D Studio i Qt Design Studio, vars mĂ„nga delsystem och pluginanslutningsram Ă€r byggda pĂ„ en gemensam kodbas med Qt Creator.
    I Qt Design Studio planerar man att sÀkerstÀlla en högkvalitativ integration med innehÄllsskapande paket som Photoshop, Sketch, Illustrator, Maya och 3D Max. De huvudsakliga sprÄken som stöds i den enhetliga utvecklingsverktygslÄdan Àr C++, QML och Python. Enheten innebÀr ocksÄ möjligheten att frÄn Qt Creator nÄ designverktygen och ge grÀnssnittsdesigners funktioner frÄn utvecklarverktygen, sÄsom projektkompilering eller app-testning pÄ enheten;
  • 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, avslutades;
  • Ö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 frĂ„n C++ som erbjuds för QML och Qt Quick. En ny egenskapssystem för QObject och liknande klasser kommer ocksĂ„ att presenteras. En motor för bindings kommer att integreras frĂ„n QML till Qt-kĂ€rnan, vilket kommer att minska belastningen och minnesanvĂ€ndningen för bindings och göra dem tillgĂ€ngliga för alla delar av Qt, och inte bara för Qt Quick;
  • Fortsatt arbete med att utöka stödet för ytterligare sprĂ„k som Python och WebAssembly;
  • Omstrukturering med uppdelning i mindre komponenter och minskning av storleken pĂ„ den grundlĂ€ggande produkten. Utvecklarverktyg och specialiserade komponenter kommer att levereras som tillĂ€gg, distribuerade genom en ny katalogbutik. SĂ„vĂ€l gratis som betalda tillĂ€gg frĂ„n tredjepartsutvecklare kommer att accepteras för distribution.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster