Qt Company pirmais izmēģinājuma izlaidums jaunajā Qt 6zarā, kurā tiks piedāvātas būtiskas arhitektūras izmaiņas, un kompilatoram būs jāatbalsta C++17 standarts. Izlaidums ietver tikai nākamā Qt 6 izlaišanas sākotnējo karkasu, kas būs pieejams 2020. gada 1. decembrī. Funkcionalitāte Qt 6zarā tiks paplašināta līdz koda bāzes iesaldēšanas paziņojumam 31. augustā.
Pirmajā izmēģinājuma izlaidumā ir iekļauti moduļi:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL un
Qt Test.
Galvenie Qt 6:
- Abstraktā grafiskā API, kas nav atkarīga no operētājsistēmas 3D API. Jaunā grafiskā kaudzes galvenais komponents ir skatu platformas renderēšanas dzinējs, kas izmanto RHI (Rendering Hardware Interface) slāni, lai nodrošinātu, ka Qt Quick lietojumprogrammas darbojas ne tikai ar OpenGL, bet arī virs Vulkan, Metal un Direct 3D API.
- Qt Quick 3D modulis ar API, lai izveidotu lietotāja interfeisus, pamatojoties uz Qt Quick, apvienojot 2D un 3D grafikas elementus. Qt Quick 3D ļauj izmantot QML 3D interfeisu elementu definēšanai bez UIP formāta izmantošanas. Qt Quick 3D 2D un 3D var izmantot vienā runtime (Qt Quick), vienā skatu izkārtojumā un vienā animācijas ietvarā, kā arī vizuālai interfeisa izstrādei izmantot Qt Design Studio. Modulis risina problēmas, piemēram, lielus izdevumus, integrējot QML ar saturu no Qt 3D vai 3D Studio, un nodrošina iespēju sinhronizēt animāciju un pārveidojumus uz atsevišķu kadru līmeņa starp 2D un 3D.
- Koda bāzes pārstrukturēšana, sadalot to mazākos komponentos un samazinot pamatprodukta izmēru. Rīki izstrādātājiem un specializēti komponenti tiks piegādāti kā paplašinājumi, kas izplatīti caur katalogu veikalu .
- Būtiska QML modernizācija:
- Strikta tipizēšana.
- Iespēja kompilēt QML C++ un mašīnkodā.
- Pilnīgas JavaScript atbalsta pārcelšana uz opcijām (pilnvērtīga JavaScript dzinēja izmantošana prasa lielus resursus, kas traucē QML pielietošanu tādā aparatūrā kā mikroprocesori).
- Atteikšanās no versiju kontroli QML.
- Datu struktūru vienotība, kas atkārtojas QObject un QML (ļaus samazināt atmiņas patēriņu un paātrināt ielādi).
- Atsakoties no datu struktūru ģenerēšanas izpildes laikā, dodot priekšroku ģenerēšanai kompilācijas laikā.
- Iekšējo komponentu slēpšana, izmantojot privātās metodes un īpašības.
- Uzlabota integrācija ar izstrādes rīkiem refaktoringa un kompilācijas laikā kļūdu diagnosticēšanas jomā.
- Rīku pievienošana grafikas resursu apstrādei kompilācijas laikā, piemēram, PNG attēlu pārveidošanai saspiestās tekstūrās vai šaderu un tīklu konvertēšanai optimizētos binārajos formātos konkrētai aparatūrai.
- Vienota motora integrēšana tēmu un stilu izstrādei, kas ļauj iegūt Qt Widgets un Qt Quick balstītu lietojumprogrammu izskatu, kas ir dabisks dažādām mobilajām un galddatoru platformām.
- Kā būvēšanas sistēma ir nolemts izmantot CMake vietā QMake. Atbalsts lietojumprogrammu būvēšanai ar QMake tiks saglabāts, taču pats Qt tiks būvēts, izmantojot CMake. CMake ir izvēlēts, jo šis rīks ir guvis plašu popularitāti C++ projektu izstrādātāju vidū un tiek atbalstīts daudzās integrētajās izstrādes vidēs. Tika turpināta Qbs būvēšanas sistēmas izstrāde, kas pretendēja uz QMake aizvietošanu. kopienas.
- Pāreja uz C++17 standartu (iepriekš tika izmantots C++98). Qt 6 plāno īstenot atbalstu daudziem mūsdienu C++ iespēju, bet bez atpakaļsaderības zuduma ar iepriekšējo standartu kodu.
- Iespēja izmantot C++ kodā noteiktas funkcionalitātes, kas piedāvāta QML un Qt Quick. Visiem Qt, ne tikai Qt Quick, būs pieejama jauna īpašību sistēma QObject un līdzīgu klašu izmantotājiem. No QML Qt kodolā tiks integrēts saistīšanas dzinējs, kas ļaus samazināt slodzi un atmiņas patēriņu saistīšanai.
- Paplašināta atbalsta sniegšana papildu valodām, piemēram, Python un WebAssembly.
Avots: opennet.lv
