Pieejama Qt 6.0 alfa versija

Uzņēmums Qt paziņoja par pavediena tulkošanu Qt 6 uz alfa testēšanas stadiju. Qt 6 ietver būtiskas arhitektūras izmaiņas, un tā izveidei ir nepieciešams kompilators, kas atbalsta C++17 standartu. Atbrīvot ieplānots no 1. gada 2020. decembra.

Atslēga Features Qt 6:

  • Abstrahēta grafikas API, kas ir neatkarīga no operētājsistēmas 3D API. Jaunā Qt grafikas kaudzes galvenā sastāvdaļa ir ainu renderēšanas dzinējs, kas izmanto RHI (renderēšanas aparatūras saskarnes) slāni, lai darbinātu Qt Quick lietojumprogrammas ne tikai ar OpenGL, bet arī virs Vulkan, Metal un Direct 3D API.
  • Qt Quick 3D modulis ar API lietotāja interfeisu izveidei uz Qt Quick bāzes, apvienojot 2D un 3D grafikas elementus. Qt Quick 3D ļauj izmantot QML, lai definētu 3D interfeisa elementus, neizmantojot UIP formātu. Programmā Qt Quick 3D varat izmantot vienu izpildlaiku (Qt Quick), vienu ainas izkārtojumu un vienu animācijas ietvaru 2D un 3D, kā arī izmantot Qt Design Studio vizuālās saskarnes izstrādei. Modulis atrisina tādas problēmas kā lielas pieskaitāmās izmaksas, integrējot QML ar saturu no Qt 3D vai 3D Studio, un nodrošina iespēju sinhronizēt animācijas un transformācijas kadru līmenī starp 2D un 3D.
  • Koda bāzes pārstrukturēšana mazākos komponentos un pamatprodukta izmēra samazināšana. Izstrādātāju rīki un specializētie komponenti tiks nodrošināti kā papildinājumi, kas izplatīti caur katalogu veikalu Qt tirgus laukums.
  • Būtiska QML modernizācija:
    • Spēcīgs mašīnrakstīšanas atbalsts.
    • Spēja apkopot QML C++ attēlojumā un mašīnkodā.
    • Pilnīga JavaScript atbalsta izveide par opciju (pilnvērtīga JavaScript dzinēja izmantošana prasa daudz resursu, kas neļauj izmantot QML iekārtās, piemēram, mikrokontrolleros).
    • Versiju veidošanas atteikums QML.
    • QObject un QML dublēto datu struktūru apvienošana (samazinās atmiņas patēriņu un paātrinās palaišanu).
    • Atteikšanās no datu struktūru izpildes laika ģenerēšanas par labu kompilēšanas laika ģenerēšanai.
    • Iekšējo komponentu slēpšana, izmantojot privātas metodes un īpašības.
    • Uzlabota integrācija ar izstrādes rīkiem pārstrukturēšanai un kompilēšanas laika kļūdu diagnostikai.
  • Rīku pievienošana, lai kompilēšanas laikā apstrādātu ar grafiku saistītus līdzekļus, piemēram, PNG attēlu konvertēšana saspiestās tekstūrās vai ēnotāju un tīklu konvertēšana optimizētos bināros formātos noteiktai aparatūrai.
  • Vienota motīvu un stilu dzinēja iegulšana, kas ļauj panākt tādu lietojumprogrammu izskatu, kuru pamatā ir Qt logrīki un Qt Quick, kas ir raksturīgi dažādām mobilajām un galddatoru platformām.
  • Tika nolemts izmantot CMake, nevis QMake kā būvēšanas sistēmu. Atbalsts lietojumprogrammu veidošanai, izmantojot QMake, saglabāsies, bet pats Qt tiks veidots, izmantojot CMake. CMake tika izvēlēts, jo šis rīku komplekts tiek plaši izmantots C++ projektu izstrādātāju vidū un tiek atbalstīts daudzās integrētās izstrādes vidēs. Qbs montāžas sistēmas izstrāde, kas apgalvoja, ka tā aizstāj QMake, turpinājās kopienai.
  • Pāreja uz C++17 standartu izstrādes laikā (iepriekš tika izmantots C++98). Qt 6 plāno ieviest atbalstu daudzām modernām C++ funkcijām, taču nezaudējot atpakaļejošu saderību ar kodu, kura pamatā ir iepriekšējie standarti.
  • Iespēja izmantot kādu no QML un Qt Quick piedāvātajām funkcijām C++ kodā. Tiks prezentēta jauna īpašuma sistēma QObject un līdzīgām klasēm. No QML Qt kodolā tiks integrēts dzinējs darbam ar saitēm, kas samazinās saišu slodzi un atmiņas patēriņu un padarīs tās pieejamas visām Qt daļām, nevis tikai Qt Quick.
  • Paplašināts atbalsts papildu valodām, piemēram, Python un WebAssembly.
  • Avots: opennet.ru

Pievieno komentāru