Qt 6.0:n alfaversio saatavilla

Qt Yritys ilmoitti ketjun kääntämisestä Qt 6 alfa-testausvaiheeseen. Qt 6 sisältää merkittäviä arkkitehtonisia muutoksia, ja sen rakentamiseen tarvitaan kääntäjä, joka tukee C++17-standardia. Vapauta ajoitettu 1 alkaen.

Avain ominaisuudet Qt 6:

  • Abstraktoitu grafiikkasovellusliittymä, joka on riippumaton käyttöjärjestelmän 3D API:sta. Uuden Qt-grafiikkapinon avainkomponentti on näkymän renderöintimoottori, joka käyttää RHI (Rendering Hardware Interface) -kerrosta Qt Quick -sovellusten tehostamiseen paitsi OpenGL:n kanssa, myös Vulkan-, Metal- ja Direct 3D -sovellusliittymien päällä.
  • Qt Quick 3D-moduuli API:lla Qt Quickiin perustuvien käyttöliittymien luomiseen yhdistäen 2D- ja 3D-grafiikkaelementtejä. Qt Quick 3D:n avulla voit määrittää 3D-rajapinnan elementtejä QML:n avulla ilman UIP-muotoa. Qt Quick 3D:ssä voit käyttää yhtä ajonaikaa (Qt Quick), yhtä kohtausasettelua ja yhtä animaatiokehystä 2D:lle ja 3D:lle ja käyttää Qt Design Studiota visuaalisen käyttöliittymän kehittämiseen. Moduuli ratkaisee ongelmat, kuten suuret yleiskustannukset integroitaessa QML:ää Qt 3D:n tai 3D Studion sisältöön, ja tarjoaa mahdollisuuden synkronoida animaatioita ja muunnoksia kehystasolla 2D:n ja 3D:n välillä.
  • Koodikannan uudelleenjärjestely pienemmiksi komponenteiksi ja perustuotteen koon pienentäminen. Kehittäjätyökalut ja erikoiskomponentit toimitetaan luettelokaupan kautta jaettavina lisäosina Qt Marketplace.
  • QML:n merkittävä modernisointi:
    • Vahva kirjoitustuki.
    • Kyky kääntää QML C++ -esitykseen ja konekoodiin.
    • Täysi JavaScript-tuen tekeminen vaihtoehdoksi (täysin varustetun JavaScript-moottorin käyttäminen vaatii paljon resursseja, mikä estää QML:n käytön laitteissa, kuten mikro-ohjaimissa).
    • QML:n versioinnin kieltäminen.
    • QObjectissa ja QML:ssä kopioitujen tietorakenteiden yhdistäminen (vähentää muistin kulutusta ja nopeuttaa käynnistystä).
    • Siirtyminen pois ajonaikaisesta tietorakenteiden luomisesta käännösaikaisen luomisen hyväksi.
    • Sisäisten komponenttien piilottaminen yksityisten menetelmien ja ominaisuuksien avulla.
    • Paranneltu integrointi kehitystyökaluihin uudelleenmuodostukseen ja käännösaikaisten virheiden diagnosointiin.
  • Työkalujen lisääminen grafiikkaan liittyvien resurssien käsittelyyn käännöshetkellä, kuten PNG-kuvien muuntaminen pakatuiksi tekstuureiksi tai varjostimien ja meshien muuntaminen optimoituihin binäärimuotoihin tietyille laitteistoille.
  • Sisällytetään yhtenäinen moottori teemoille ja tyyleille, jonka avulla voit saavuttaa Qt-widgeteihin ja Qt Quickiin perustuvien sovellusten ulkonäön, jotka ovat kotoisin eri mobiili- ja työpöytäalustoista.
  • Rakennusjärjestelmänä päätettiin käyttää CMakea QMaken sijaan. Tuki sovellusten rakentamiseen QMakella säilyy, mutta itse Qt rakennetaan CMakella. CMake valittiin, koska tämä työkalupakki on laajalti käytössä C++-projektien kehittäjien keskuudessa ja sitä tuetaan monissa integroiduissa kehitysympäristöissä. Qbs-kokoonpanojärjestelmän kehittäminen, joka väitti korvaavan QMaken, jatkui Yhteisö.
  • Siirtyminen C++17-standardiin kehityksen aikana (aiemmin käytettiin C++98). Qt 6 aikoo ottaa käyttöön tuen monille nykyaikaisille C++-ominaisuuksille, mutta menettämättä taaksepäin yhteensopivuutta aiempien standardien mukaisen koodin kanssa.
  • Mahdollisuus käyttää joitakin QML:lle ja Qt Quickille tarjotuista toiminnoista C++-koodissa. Sisältää uuden kiinteistöjärjestelmän QObjectille ja vastaaville luokille. QML:stä Qt-ytimeen integroidaan moottori sidosten kanssa työskentelemiseen, mikä vähentää sidosten kuormitusta ja muistin kulutusta ja tekee ne kaikkien Qt:n osien käytettävissä, ei vain Qt Quickin.
  • Laajennettu tuki lisäkielille, kuten Python ja WebAssembly.
  • Lähde: opennet.ru

Lisää kommentti