Elérhető a Qt 6.0 alfa verziója

Qt Társaság bejelentett a szál fordításáról Qt 6 az alfa tesztelési szakaszba. A Qt 6 jelentős építészeti változtatásokat tartalmaz, és a C++17 szabványt támogató fordítóprogramra van szükség. Kiadás Ütemezett 1. december 2020-től.

Kulcs Jellemzők Qt 6:

  • Egy absztrahált grafikus API, amely független az operációs rendszer 3D API-jától. Az új Qt grafikus verem egyik kulcseleme a jelenet renderelő motor, amely az RHI (Rendering Hardware Interface) réteget használja a Qt Quick alkalmazások működéséhez nem csak OpenGL-lel, hanem a Vulkan, Metal és Direct 3D API-k tetején is.
  • Qt Quick 3D modul API-val Qt Quick alapú felhasználói felületek létrehozásához, 2D és 3D grafikus elemeket kombinálva. A Qt Quick 3D lehetővé teszi a QML használatát a 3D interfész elemek UIP formátum használata nélkül történő meghatározásához. A Qt Quick 3D-ben egy futtatókörnyezetet (Qt Quick), egy jelenet-elrendezést és egy animációs keretrendszert használhat 2D-hez és 3D-hez, és használhatja a Qt Design Studio-t a vizuális felületek fejlesztéséhez. A modul olyan problémákat old meg, mint például a nagy többletterhelés, amikor a QML-t integrálja a Qt 3D vagy 3D Studio tartalommal, és lehetővé teszi az animációk és átalakítások szinkronizálását a 2D és a 3D közötti keretszinten.
  • A kódbázis átalakítása kisebb komponensekre és az alaptermék méretének csökkentése. A fejlesztői eszközöket és speciális összetevőket a katalógusbolton keresztül terjesztett kiegészítőkként biztosítjuk Qt piactér.
  • A QML jelentős korszerűsítése:
    • Erős gépelési támogatás.
    • Képes QML-t C++ reprezentációra és gépi kódra fordítani.
    • A teljes JavaScript-támogatás opcióvá tétele (a teljes értékű JavaScript motor használata sok erőforrást igényel, ami megakadályozza a QML használatát olyan berendezéseken, mint például a mikrokontrollerek).
    • Verziószámítás elutasítása QML-ben.
    • A QObjectben és QML-ben duplikált adatstruktúrák egyesítése (csökkenti a memóriafelhasználást és felgyorsítja az indítást).
    • Az adatstruktúrák futásidejű generálásától való elmozdulás a fordítási idejű generálás javára.
    • Belső komponensek elrejtése privát módszerek és tulajdonságok használatával.
    • Továbbfejlesztett integráció a fejlesztőeszközökkel az újrafaktoráláshoz és a fordítási idejű hibadiagnosztikához.
  • Eszközök hozzáadása a grafikával kapcsolatos eszközök feldolgozásához a fordítási időben, például PNG-képek konvertálása tömörített textúrákká, vagy árnyékolók és hálók konvertálása optimalizált bináris formátumokká bizonyos hardverekhez.
  • A témák és stílusok egységes motorjának beágyazása, amely lehetővé teszi a Qt Widgeteken és Qt Quicken alapuló alkalmazások megjelenését, amelyek a különböző mobil- és asztali platformokon natívak.
  • Úgy döntöttek, hogy a QMake helyett a CMake-et használják felépítési rendszerként. Az alkalmazások QMake használatával történő létrehozásának támogatása továbbra is megmarad, de maga a Qt a CMake használatával készül. A CMake-re azért esett a választás, mert ezt az eszközkészletet széles körben használják a C++ projektfejlesztők körében, és számos integrált fejlesztői környezet támogatja. A Qbs összeszerelő rendszer fejlesztése, amely állítólag a QMake helyettesítője, folytatta közösség.
  • A fejlesztés során áttérés a C++17 szabványra (korábban a C++98 volt használatban). A Qt 6 számos modern C++ funkció támogatását tervezi megvalósítani, de anélkül, hogy elveszítené a korábbi szabványokon alapuló kóddal való visszafelé kompatibilitást.
  • A QML és Qt Quick által kínált egyes funkciók használatának képessége C++ kódban. Bemutatásra kerül egy új tulajdonságrendszer a QObject és hasonló osztályokhoz. A QML-ből egy kötésekkel való munkavégző motort integrálnak a Qt magba, ami csökkenti a kötések terhelését és memóriafelhasználását, és elérhetővé teszi a Qt minden része számára, nem csak a Qt Quick számára.
  • Kibővített támogatás további nyelvekhez, mint például a Python és a WebAssembly.
  • Forrás: opennet.ru

Hozzászólás