Kompania Qt përkthimi i degës në fazën e testimit alfa. Qt 6 përfshin ndryshime të konsiderueshme arkitekturore, dhe për ndërtimin e saj nevojitet një kompilues që mbështet standardin C++17. Lëshimi më 1 dhjetor 2020.
Karakteristikat kryesore Qt 6:
- Një API grafik i abstraguar, i pavarur nga API 3D i sistemit operativ. Komponenti kryesor i kupolës grafike të re të Qt është motori i renderimit të skenës, i cili përdor një shtresë RHI (Rendering Hardware Interface) për të mbështetur aplikacionet Qt Quick jo vetëm me OpenGL, por edhe përmes API-ve Vulkan, Metal dhe Direct 3D.
- Moduli Qt Quick 3D me API për krijimin e ndërfaqeve të përdoruesit të bazuara në Qt Quick, të kombinuar me elemente grafike 2D dhe 3D. Qt Quick 3D lejon përdorimin e QML për përcaktimin e elementeve 3D të ndërfaqeve pa përdorur formatin UIP. Në Qt Quick 3D, për 2D dhe 3D mund të përdoret një runtime (Qt Quick), një pamje skene dhe një kornizë animacioni, ndërsa për zhvillimin vizual të ndërfaqes mund të përdoret Qt Design Studio. Moduli adreson probleme si shpenzimet e mëdha të integrimit të QML me përmbajtjen nga Qt 3D ose 3D Studio dhe ofron mundësinë e sinkronizimit të animacioneve dhe transformimeve në nivelin e kuadrove individuale midis 2D dhe 3D.
- Ristrukturimi i kodit me ndarjen në pjesë më të vogla dhe zvogëlimin e madhësisë së produktit bazë. Mjetet për zhvilluesit dhe komponentët e specializuar do të ofrohen si shtesa, të shpërndara përmes një katalogu dyqani .
- Një modernizim i rëndësishëm i QML:
- Mbështetje për tipizimin e fortë.
- Mundësia për të kompaktuar QML në përfaqësim C++ dhe kodin makina.
- Shkarkimi i mbështetjes të plotë për JavaScript në kategorinë e opsioneve (përdorimi i një engine JavaScript të plotë kërkon burime të mëdha, që pengon përdorimin e QML në pajisje si mikro kontrollet).
- Braktisja e versionimit në QML.
- Unifikimi i strukturave të dhënash, që përsëriten në QObject dhe QML (do të lejojë reduktimin e konsumit të memories dhe përshpejtimin e nisjes).
- Ikja nga gjenerimi i strukturave të dhënash gjatë ekzekutimit në favor të gjenerimit në kohën e përpunimit.
- FSiguroja e komponenteve të brendshme përmes përdorimit të metodave dhe pasurive private.
- Integrim më i mirë me mjetet e zhvillimit për refaktorizim dhe diagnostikimin e gabimeve gjatë kompilimit.
- Shtimi i mjeteve për përpunimin e burimeve të lidhura me grafikën gjatë fazës së kompilimit, për shembull, për të kthyer imazhet PNG në tekstura të kompresuara ose për të konvertuar shadëra dhe mesh-e në formate binarë të optimizuar për pajisje të caktuara.
- Inkorporimi i një engine të unifikuar për temat dhe stilet, duke lejuar arritjen e pamjes së aplikacioneve të bazuara në Qt Widgets dhe Qt Quick, native për platforma të ndryshme mobile dhe desktop.
- Si sistem ndërtimi është vendosur të përdoret CMake në vend të QMake. Mbështetje për ndërtimin e aplikacioneve me QMake do të ruhet, por vetë Qt do të ndërtohet duke përdorur CMake. CMake u zgjodh sepse ky mjet ka marrë shtrirje të gjerë mes zhvilluesve të projekteve në C++ dhe mbështetet në shumë ambiente të integruara zhvillimi. Zhvillimi i sistemit të ndërtimit Qbs, i cili pretendonte të ishte zëvendësues për QMake, nga komuniteti.
- Kalimi në standardin C++17 (më parë përdorej C++98). Në Qt 6 është planifikuar të implementohet mbështetje për shumë mundësi moderne C++, por pa humbur mbështetjes për kodin të bazuar në standardet e mëparshme.
- Mundësia për të përdorur në kodin C++ disa funksionalitete që ofrohen për QML dhe Qt Quick. Po ashtu, do të prezantohet një sistem i ri pronash për QObject dhe klasa të ngjashme. Nga QML në bërthamën Qt do të integrohet një engine për punën me lidhjet (binding), që do të lejojë uljen e ngarkesës dhe konsumit të memories për lidhjet dhe t'i bëjë ato të arritshme për të gjitha pjesët e Qt, jo vetëm për Qt Quick.
- Zgjerimi i mbështetjes për gjuhë të tjera, si Python dhe WebAssembly.
Burimi: opennet.ru
