Saadaval on Qt 6.0 alfaversioon

Qt ettevõte kuulutas välja lõime tõlkimise kohta Qt 6 alfa testimise etappi. Qt 6 sisaldab olulisi arhitektuurilisi muudatusi ja selle ehitamiseks on vaja kompilaatorit, mis toetab C++17 standardit. Vabasta planeeritud seisuga 1. detsember 2020.

Võti Omadused Qt 6:

  • Abstraheeritud graafika API, mis on sõltumatu operatsioonisüsteemi 3D API-st. Uue Qt graafikapinu põhikomponent on stseeni renderdusmootor, mis kasutab RHI (Rendering Hardware Interface) kihti Qt Quick rakenduste toiteks mitte ainult OpenGL-iga, vaid ka Vulkani, Metalli ja Direct 3D API-de peal.
  • Qt Quick 3D moodul API-ga Qt Quickil põhinevate kasutajaliideste loomiseks, mis ühendab 2D ja 3D graafika elemente. Qt Quick 3D võimaldab teil kasutada QML-i 3D-liidese elementide määratlemiseks ilma UIP-vormingut kasutamata. Qt Quick 3D-s saate 2D ja 3D jaoks kasutada ühte käitusaega (Qt Quick), ühte stseeni paigutust ja ühte animatsiooniraamistikku ning visuaalse liidese arendamiseks Qt Design Studiot. Moodul lahendab sellised probleemid nagu suured üldkulud QML-i integreerimisel Qt 3D või 3D Studio sisuga ning võimaldab sünkroonida animatsioone ja teisendusi kaadri tasemel 2D ja 3D vahel.
  • Koodibaasi ümberstruktureerimine väiksemateks komponentideks ja põhitoote suuruse vähendamine. Arendaja tööriistu ja spetsiaalseid komponente pakutakse kataloogipoe kaudu levitatavate lisandmoodulitena Qt turg.
  • QML-i oluline moderniseerimine:
    • Tugev trükkimise tugi.
    • Võimalus kompileerida QML-i C++ esituseks ja masinkoodiks.
    • Täieliku JavaScripti toe muutmine valikuks (täisfunktsionaalse JavaScripti mootori kasutamine nõuab palju ressursse, mis takistab QML-i kasutamist sellistes seadmetes nagu mikrokontrollerid).
    • Versioonide loomisest keeldumine QML-is.
    • QObjectis ja QML-is dubleeritud andmestruktuuride ühendamine (vähendab mälutarbimist ja kiirendab käivitamist).
    • Andmestruktuuride käitusaegsest genereerimisest loobumine kompileerimise ajal genereerimise kasuks.
    • Sisemiste komponentide peitmine privaatsete meetodite ja omaduste abil.
    • Täiustatud integratsioon arendustööriistadega ümbertöötamiseks ja kompileerimisaja vigade diagnoosimiseks.
  • Tööriistade lisamine graafikaga seotud varade töötlemiseks kompileerimise ajal, näiteks PNG-piltide teisendamine tihendatud tekstuurideks või varjundite ja võrgusilmade teisendamine konkreetse riistvara jaoks optimeeritud kahendvormingusse.
  • Teemade ja stiilide jaoks ühtse mootori manustamine, mis võimaldab teil saavutada Qt vidinatel ja Qt Quickil põhinevate rakenduste välimuse, mis on omane erinevatele mobiili- ja lauaarvutiplatvormidele.
  • Koostamissüsteemina otsustati QMake asemel kasutada CMake. QMake'i abil rakenduste loomise tugi jääb alles, kuid Qt ise ehitatakse CMake'i abil. CMake valiti seetõttu, et seda tööriistakomplekti kasutatakse laialdaselt C++ projektiarendajate seas ja seda toetatakse paljudes integreeritud arenduskeskkondades. Qbs koostesüsteemi arendamine, mis väidetavalt asendab QMake'i, jätkus kogukond.
  • Üleminek C++17 standardile arenduse käigus (varem oli kasutusel C++98). Qt 6 plaanib juurutada tuge paljudele kaasaegsetele C++ funktsioonidele, kuid kaotamata tagasiühilduvust varasematel standarditel põhineva koodiga.
  • Võimalus kasutada mõnda QML-i ja Qt Quicki jaoks pakutavat funktsiooni C++ koodis. Esitletakse ka uut QObjecti ja sarnaste klasside kinnisvarasüsteemi. QML-ist integreeritakse Qt-tuuma mootor sidumistega töötamiseks, mis vähendab sidumiste koormust ja mälukulu ning muudab need kättesaadavaks kõigile Qt osadele, mitte ainult Qt Quickile.
  • Laiendatud tugi täiendavatele keeltele, nagu Python ja WebAssembly.
  • Allikas: opennet.ru

Lisa kommentaar