Az első tesztkiadás a Qt 6-ból

Qt Company kiadta Az új Qt 6-os ág első tesztkiadásában jelentős architektúrábeli változások kerülnek bemutatásra, és a build elkészítéséhez C++17 támogatását nyújtó fordító szükséges. A kiadás csak a jövőbeli Qt 6-os verzió kezdő keretét tartalmazza, amely terveznek 2020. december 1-jére készül el. A Qt 6-os ág funkcionalitása bővülni fog a kódalap fagyasztásának bejelentéséig augusztus 31-én.

Az első tesztbuild tartalmazza a következő modulokat:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL és
Qt Test.

Kulcsok jellemzői Qt 6:

  • Absztrakt grafikai API, amely nem függ az operációs rendszer 3D API-jától. Az új Qt grafikai rétege kulcsszereke az a jelenet-renderelő motor, amely RHI (Rendering Hardware Interface) réteg használatával biztosítja, hogy a Qt Quick alkalmazások ne csak OpenGL-lal, hanem a Vulkan, Metal és Direct 3D API-k felett is működhessenek.
  • A Qt Quick 3D modul API-t biztosít a Qt Quick alapú felhasználói felületek létrehozásához, 2D és 3D grafikai elemek kombinálásával. A Qt Quick 3D lehetővé teszi a QML használatát a 3D felületi elemek meghatározásához anélkül, hogy a UIP formátumot igénybe kellene venni. A Qt Quick 3D számára a 2D és 3D egy runtime (Qt Quick), egy színpadelrendezés és egy animációs keretrendszer használható, amelynek vizuális fejlesztéséhez a Qt Design Studio alkalmazható. A modul olyan problémákat old meg, mint a QML 3D tartalommal való integrálásának nagy költségei, és lehetővé teszi az animáció és átalakítások keret szintű szinkronizálását 2D és 3D között.
  • A kódalap átszervezése kisebb összetevőkre bontással és a fő termék méretének csökkentésével. A fejlesztők számára készült eszközök és speciális összetevők kiegészítők formájában lesznek elérhetők, amelyeket az áruház katalógusán keresztül terjesztenek. Qt Marketplace.
  • Significant modernization of QML:
    • Support for strict typing.
    • Ability to compile QML into C++ representation and machine code.
    • Moving full support for JavaScript to options (using a fully functional JavaScript engine requires significant resources, making QML unsuitable for hardware like microcontrollers).
    • Abandoning versioning in QML.
    • Unification of data structures that duplicate in QObject and QML (to reduce memory consumption and speed up startup).
    • Moving away from generating data structures at runtime in favor of generating at compile time.
    • Hiding internal components through the use of private methods and properties.
    • Fejlettebb integráció a fejlesztői eszközökkel a refaktorálás és a fordítási hibák diagnosztizálása érdekében.
  • Eszközök hozzáadása a grafika erőforrásainak feldolgozásához a fordítási szakaszban, például PNG képek tömörített textúrákká való átalakítására vagy árnyékolók és mesh-ek optimalizált bináris formátumokra való konvertálására a megfelelő hardver számára.
  • Egy egységes motor beépítése a témák és stílusok számára, amely lehetővé teszi a Qt Widgets és Qt Quick alapú alkalmazások natív megjelenését különböző mobil és asztali platformokon.
  • A build rendszerként a QMake helyett a CMake használata mellett döntöttek. A QMake használatának támogatása megmarad az alkalmazások buildelésénél, de magát a Qt-t a CMake segítségével fogják buildelni. A CMake-t választották, mivel ez az eszköz széles körben elterjedt a C++ projektek fejlesztői között, és számos integrált fejlesztőkörnyezetben támogatott. A Qbs build rendszer fejlesztése is folyamatban van, amely QMake helyettesítőjévé kívánt válni, folytatódott közösség által.
  • A fejlesztés átállása a C++17 szabványra (korábban C++98-at használtak). A Qt 6-ban a C++ sok modern lehetőségének támogatását tervezik, de a régi szabványok alapján készült kódokkal való visszamenőleges kompatibilitás elvesztése nélkül.
  • Lehetőség arra, hogy a C++ kódban használhassunk néhány, a QML és a Qt Quick számára kínált funkcionalitást. Ezenkívül egy új tulajdonságkezelő rendszer kerül bemutatásra a QObject és az ehhez hasonló osztályok számára. A Qt magjába integrálásra kerül egy kötések (binding) kezelésére szolgáló motor, ami csökkenti a kötések terhelését és memóriafogyasztását, ezáltal hozzáférhetővé téve azokat a Qt minden részéhez, nem csupán a Qt Quick-hez.
  • Támogatás kiterjesztése további nyelvek, például Python és WebAssembly számára.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster