Dostupna je alfa verzija Qt 6.0

Tvrtka Qt najavio o prevođenju teme Qt 6 do alfa faze testiranja. Qt 6 uključuje značajne arhitektonske promjene i zahtijeva kompajler koji podržava standard C++17 za izgradnju. Otpuštanje planirani od 1. prosinca 2020.

Ključ značajke Qt 6:

  • Apstraktni grafički API koji je neovisan o 3D API-ju operativnog sustava. Ključna komponenta novog Qt grafičkog skupa je mehanizam za renderiranje scene, koji koristi sloj RHI (Rendering Hardware Interface) za pokretanje Qt Quick aplikacija ne samo s OpenGL-om, već i povrh Vulkan, Metal i Direct 3D API-ja.
  • Qt Quick 3D modul s API-jem za kreiranje korisničkih sučelja temeljenih na Qt Quicku, kombinirajući 2D i 3D grafičke elemente. Qt Quick 3D vam omogućuje korištenje QML-a za definiranje elemenata 3D sučelja bez korištenja UIP formata. U Qt Quick 3D možete koristiti jedno vrijeme izvođenja (Qt Quick), jedan raspored scene i jedan okvir animacije za 2D i 3D te koristiti Qt Design Studio za razvoj vizualnog sučelja. Modul rješava probleme kao što su veliki troškovi pri integraciji QML-a sa sadržajem iz Qt 3D ili 3D Studija i pruža mogućnost sinkronizacije animacija i transformacija na razini okvira između 2D i 3D.
  • Restrukturiranje baze koda u manje komponente i smanjenje veličine osnovnog proizvoda. Alati za razvojne programere i specijalizirane komponente bit će dostavljene kao dodaci koji se distribuiraju putem kataloške trgovine Qt tržište.
  • Značajna modernizacija QML-a:
    • Jaka podrška za tipkanje.
    • Sposobnost kompajliranja QML-a u C++ reprezentaciju i strojni kod.
    • Uključivanje potpune podrške za JavaScript kao opciju (upotreba potpuno opremljenog JavaScript motora zahtijeva mnogo resursa, što sprječava upotrebu QML-a na opremi kao što su mikrokontroleri).
    • Odbijanje verzije u QML-u.
    • Objedinjavanje struktura podataka dupliciranih u QObject i QML (smanjit će potrošnju memorije i ubrzati pokretanje).
    • Udaljavanje od generiranja podatkovnih struktura u vrijeme izvođenja u korist generiranja u vrijeme prevođenja.
    • Skrivanje unutarnjih komponenti korištenjem privatnih metoda i svojstava.
    • Poboljšana integracija s razvojnim alatima za refaktoriranje i dijagnozu pogrešaka tijekom kompajliranja.
  • Dodavanje alata za obradu sredstava povezanih s grafikom tijekom kompajliranja, kao što je pretvaranje PNG slika u komprimirane teksture ili pretvaranje shadera i mreža u optimizirane binarne formate za određeni hardver.
  • Ugrađivanje unificiranog mehanizma za teme i stilove, što vam omogućuje postizanje izgleda aplikacija temeljenih na Qt Widgetima i Qt Quicku, izvornim za različite mobilne i desktop platforme.
  • Odlučeno je koristiti CMake umjesto QMake kao sustav za izgradnju. Podrška za izradu aplikacija pomoću QMakea ostat će, ali će sam Qt biti izgrađen pomoću CMakea. CMake je odabran jer se ovaj skup alata naširoko koristi među programerima C++ projekata i podržan je u mnogim integriranim razvojnim okruženjima. Razvoj Qbs sustava za sklapanje, koji je tvrdio da je zamjena za QMake, produžen zajednica.
  • Prijelaz na standard C++17 tijekom razvoja (ranije je korišten C++98). Qt 6 planira implementirati podršku za mnoge moderne C++ značajke, ali bez gubitka kompatibilnosti s prethodnim verzijama koda temeljenog na prošlim standardima.
  • Mogućnost korištenja nekih funkcija ponuđenih za QML i Qt Quick u C++ kodu. Bit će predstavljen novi sustav svojstava za QObject i slične klase. Iz QML-a će se u Qt jezgru integrirati motor za rad s vezovima, koji će smanjiti opterećenje i potrošnju memorije za bindinge i učiniti ih dostupnim svim dijelovima Qt-a, a ne samo Qt Quick-u.
  • Proširena podrška za dodatne jezike kao što su Python i WebAssembly.
  • Izvor: opennet.ru

Dodajte komentar