Esimene Qt 6 testversioon

Qt Company avalikustas esimene testversioon uue Qt 6 haru kohta, kus pakutakse olulisi arhitektuurilisi muudatusi ning kogumise jaoks on vajalik C++17 standardit toetav kompilaator. Väljaanne sisaldab vaid tulevase Qt 6 vabanemise algsest struktuurist, mis on planeeritud on 1. detsember 2020. Qt 6 haru funktsionaalsus laieneb kuni koodibaasi külmutamise kuulutamiseni 31. augusta.

Esimese testkomplekti koosseisu kuuluvad moodulid:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL ja
Qt Test.

Peamised omadused Qt 6:

  • Abstraktne graafiline API, mis ei sõltu operatsioonisüsteemi 3D API-st. Uue Qt graafikaste vahel on peamiseks komponendiks stseenide renderdamise mootor, mis kasutab RHI (Renderimise Riistvaraliidese) kihti, et tagada Qt Quick rakenduste töö mitte ainult OpenGL-iga, vaid ka Vulkan, Metal ja Direct 3D API-de peal.
  • Qt Quick 3D moodul koos API-ga, mis võimaldab luua Qt Quicki põhiseid kasutajaliideseid, mis ühendavad 2D ja 3D graafikamooduleid. Qt Quick 3D võimaldab kasutada QML-i 3D elementide määratlemiseks ilma UIP formaati kasutamata. Qt Quick 3D-s saab 2D ja 3D jaoks kasutada ühte runtime'i (Qt Quick), üht stseenijoont ja üht animatsiooniraamistikku, samas kui kasutajaliidese visuaalseks arendamiseks saab rakendada Qt Design Studio. Moodul lahendab sellised probleemid nagu suured kulud QML integratsiooni osas Qt 3D või 3D Studio sisuga ning pakub võimalust animatsiooni ja transformatsioonide sünkroniseerimiseks üksikute kaadrite tasemel 2D ja 3D vahel.
  • Koodibaasi restruktureerimine väiksemate komponentide jagamise ja põhitoote suuruse vähendamisega. Arendajate tööriistad ja spetsialiseeritud komponendid tarnitakse lisana, mis jaotatakse turu katalooge kaudu Qt Marketplace.
  • Oluline QML moderniseerimine:
    • Tugeva tüpiseerimise toetus.
    • QML-i kompileerimise võimalus C++ ja masinkoodi esitlusele.
    • JavaScripti täiemahulise toe muutmine valikuks (täisfunktsionaalse JavaScripti mootor kasutamine nõuab suurt ressursikasutust, mis takistab QML-i rakendamist sellistes seadmetes nagu mikroprotsessorid).
    • QML-i versioonihaldusest loobumine.
    • Andmestruktuuride ühtlustamine, mis on duplikaadid QObject'is ja QML-is (vähendab mälu tarbimist ja kiirendab käivitamist).
    • Põhistruktuuride genereerimise lõpetamine jooksu ajal kompilatsiooni ajal genereerimise kasuks.
    • Siselementide peitmine privaatsete meetodite ja omaduste kasutamise kaudu.
    • Parandatud integreerimine arendus tööriistadega refaktoreerimise ja kompilatsiooni ajal vigade diagnoosimise jaoks.
  • Tööriistade lisamine graafikaga seotud ressursside töötlemiseks kompileerimise käigus, näiteks PNG-piltide konverteerimine tihendatud tekstuurideks või varjundite ja võrku optimeeritud binaarvorminguks spetsiifilisele riistvarale.
  • Ühtse teema- ja stiilimootori sisseehitus, mis võimaldab saavutada Qt Widgets ja Qt Quicki rakenduste väljanägemise, mis on kohandatud erinevatele mobiilsetele ja lauaarvutiplatformidele.
  • Kogumissüsteemina on otsustatud kasutada CMake'i QMake'i asemel. QMake'i tugi rakenduste ehitamiseks jääb alles, kuid Qt ise ehitatakse CMake'i abil. CMake on valitud, kuna see on laialdaselt levinud C++ projektide arendajate seas ja seda toetavad paljud integreeritud arenduskeskkonnad. Arendatakse Qbs kogumissüsteemi, mis pretendeeris QMake'i asendamiseks. on jätkunud kogukonne.
  • Arendamisel üleminek standardile C++17 (varasemalt kasutati C++98). Qt 6-s plaanitakse rakendada paljusid kaasaegseid C++ funktsioone, kuid ilma tagasiühilduvuse kaotamiseta varasemate standardite alusel kirjutatud koodiga.
  • C++ koodis teatud funktsionaalsuse kasutamise võimalus, mis on saadaval QML ja Qt Quick jaoks. Sealhulgas tutvustatakse uut omaduste süsteemi QObject ja sarnaste klasside jaoks. QML-ist tuumasse Qt-s integreeritakse sidumismootor, mis vähendab koormust ja mälutarbimist sidumiste jaoks ning teeb need kergesti kättesaadavaks kõigis Qt osades, mitte ainult Qt Quickis.
  • Tugikeele toetuse laiendamine, sealhulgas Python ja WebAssembly.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster