Na voljo je alfa različica Qt 6.0

Podjetje Qt napovedal o prevajanju teme Qt 6 v fazo testiranja alfa. Qt 6 vključuje znatne arhitekturne spremembe in za izdelavo zahteva prevajalnik, ki podpira standard C++17. Sprostitev načrtovano od 1. decembra 2020.

Ključ funkcije Qt 6:

  • Abstraktni grafični API, ki je neodvisen od 3D API-ja operacijskega sistema. Ključna komponenta novega grafičnega sklada Qt je mehanizem za upodabljanje prizorov, ki uporablja sloj RHI (Rendering Hardware Interface) za napajanje aplikacij Qt Quick ne samo z OpenGL, ampak tudi poleg API-jev Vulkan, Metal in Direct 3D.
  • Qt Quick 3D modul z API-jem za ustvarjanje uporabniških vmesnikov na osnovi Qt Quick, ki združuje 2D in 3D grafične elemente. Qt Quick 3D vam omogoča uporabo QML za definiranje elementov vmesnika 3D brez uporabe formata UIP. V Qt Quick 3D lahko uporabite eno izvajalno okolje (Qt Quick), eno postavitev scene in eno animacijsko ogrodje za 2D in 3D ter uporabite Qt Design Studio za razvoj vizualnega vmesnika. Modul rešuje težave, kot so veliki režijski stroški pri integraciji QML z vsebino iz Qt 3D ali 3D Studio, in zagotavlja možnost sinhronizacije animacij in transformacij na ravni okvirja med 2D in 3D.
  • Prestrukturiranje kodne baze v manjše komponente in zmanjšanje velikosti osnovnega izdelka. Orodja za razvijalce in specializirane komponente bodo na voljo kot dodatki, distribuirani prek kataloške trgovine Tržnica Qt.
  • Pomembna posodobitev QML:
    • Močna podpora za tipkanje.
    • Sposobnost prevajanja QML v predstavitev C++ in strojno kodo.
    • Omogočanje popolne podpore za JavaScript (uporaba motorja JavaScript s polnimi funkcijami zahteva veliko virov, kar preprečuje uporabo QML na opremi, kot so mikrokontrolerji).
    • Zavrnitev različic v QML.
    • Poenotenje podatkovnih struktur, podvojenih v QObject in QML (zmanjša porabo pomnilnika in pospeši zagon).
    • Odmik od generiranja podatkovnih struktur v času izvajanja v korist generiranja v času prevajanja.
    • Skrivanje notranjih komponent z uporabo zasebnih metod in lastnosti.
    • Izboljšana integracija z razvojnimi orodji za preoblikovanje in diagnosticiranje napak med prevajanjem.
  • Dodajanje orodij za obdelavo sredstev, povezanih z grafiko, med prevajanjem, kot je pretvorba slik PNG v stisnjene teksture ali pretvorba senčil in mrež v optimizirane binarne formate za določeno strojno opremo.
  • Vdelava poenotenega mehanizma za teme in sloge, ki vam omogoča, da dosežete videz aplikacij, ki temeljijo na Qt Widgets in Qt Quick, izvornih za različne mobilne in namizne platforme.
  • Odločeno je bilo, da se kot sistem gradnje uporabi CMake namesto QMake. Podpora za izdelavo aplikacij z uporabo QMake bo ostala, vendar bo sam Qt zgrajen z uporabo CMake. CMake je bil izbran, ker se ta komplet orodij pogosto uporablja med razvijalci projektov C++ in je podprt v številnih integriranih razvojnih okoljih. Razvoj montažnega sistema Qbs, ki naj bi bil zamenjava za QMake, nadaljevano skupnosti.
  • Prehod na standard C++17 med razvojem (prej je bil uporabljen C++98). Qt 6 načrtuje implementacijo podpore za številne sodobne funkcije C++, vendar brez izgube povratne združljivosti s kodo, ki temelji na podedovanih standardih.
  • Možnost uporabe nekaterih funkcij, ki so na voljo za QML in Qt Quick v kodi C++. Predstavljen bo tudi nov sistem lastnosti za QObject in podobne razrede. Iz QML bo v jedro Qt integriran motor za delo z vezmi, ki bo zmanjšal obremenitev in porabo pomnilnika za vezave in jih naredil na voljo vsem delom Qt in ne le Qt Quick.
  • Razširjena podpora za dodatne jezike, kot sta Python in WebAssembly.
  • Vir: opennet.ru

Dodaj komentar