Dostupna je alfa verzija Qt 6.0

Qt Company najavljeno o prevođenju teme Qt 6 do faze alfa testiranja. Qt 6 uključuje značajne arhitektonske promjene i zahtijeva kompajler koji podržava C++17 standard za izgradnju. Pustiti planirano od 1. decembra 2020.

Ključ Značajke Qt 6:

  • Apstraktni grafički API koji je nezavisan od 3D API-ja operativnog sistema. Ključna komponenta novog Qt grafičkog steka je mehanizam za renderovanje scene, koji koristi sloj RHI (Rendering Hardware Interface) za napajanje Qt Quick aplikacija ne samo sa OpenGL-om, već i na vrhu Vulkan, Metal i Direct 3D API-ja.
  • Qt Quick 3D modul sa API-jem za kreiranje korisničkih interfejsa zasnovanih na Qt Quick-u, kombinujući 2D i 3D grafičke elemente. Qt Quick 3D vam omogućava da koristite QML za definisanje elemenata 3D interfejsa bez korišćenja UIP formata. U Qt Quick 3D, možete koristiti jedno vrijeme izvođenja (Qt Quick), jedan raspored scene i jedan okvir za animaciju za 2D i 3D, te koristiti Qt Design Studio za razvoj vizuelnog interfejsa. Modul reš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 sinhronizacije animacija i transformacija na nivou okvira između 2D i 3D.
  • Restrukturiranje baze koda u manje komponente i smanjenje veličine osnovnog proizvoda. Alati za programere i specijalizovane komponente će biti obezbeđeni kao dodaci koji se distribuiraju kroz katalošku prodavnicu Qt Marketplace.
  • Značajna modernizacija QML-a:
    • Snažna podrška za kucanje.
    • Sposobnost kompajliranja QML-a u C++ reprezentaciju i mašinski kod.
    • Omogućavanje potpunog JavaScript podrške (upotreba potpuno opremljenog JavaScript mehanizma zahtijeva puno resursa, što onemogućava upotrebu QML-a na opremi kao što su mikrokontroleri).
    • Odbijanje verzije u QML-u.
    • Unifikacija struktura podataka dupliciranih u QObject i QML (će smanjiti potrošnju memorije i ubrzati pokretanje).
    • Odmicanje od generiranja struktura podataka u vrijeme izvođenja u korist generiranja u vrijeme kompajliranja.
    • Skrivanje internih komponenti korištenjem privatnih metoda i svojstava.
    • Poboljšana integracija sa razvojnim alatima za refaktoriranje i dijagnostiku grešaka u vremenu prevođenja.
  • Dodavanje alata za obradu grafičkih sredstava u vrijeme 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 objedinjenog motora za teme i stilove, omogućavajući vam da postignete izgled aplikacija zasnovanih na Qt Widgetima i Qt Quick-u, izvornim za različite mobilne i desktop platforme.
  • Odlučeno je da se koristi CMake umjesto QMake kao sistem izgradnje. Podrška za pravljenje aplikacija koristeći QMake će ostati, ali sam Qt će biti izgrađen pomoću CMakea. CMake je odabran jer se ovaj komplet alata široko koristi među programerima C++ projekata i podržan je u mnogim integriranim razvojnim okruženjima. Razvoj Qbs montažnog sistema, za koji se tvrdilo da je zamjena za QMake, nastavio zajednica.
  • Prelazak na C++17 standard tokom razvoja (ranije je korišten C++98). Qt 6 planira implementirati podršku za mnoge moderne C++ karakteristike, ali bez gubitka kompatibilnosti s kodom zasnovanim na prošlim standardima.
  • Mogućnost korištenja neke od funkcionalnosti ponuđenih za QML i Qt Quick u C++ kodu. Uključujući novi sistem svojstava za QObject i slične klase će biti predstavljeno. Od QML-a, u Qt jezgro će se integrirati motor za rad sa vezama, što će smanjiti opterećenje i potrošnju memorije za povezivanja 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