Primo rilascio di prova di Qt 6

Qt Company ha pubblicato primo rilascio di prova del nuovo ramo Qt 6, che offrirà significativi cambiamenti architettonici, e per la compilazione sarà necessario un compilatore che supporti lo standard C++17. Il rilascio include solo l'ossatura iniziale della futura versione di Qt 6 che è previsto sarà disponibile il 1 dicembre 2020. La funzionalità nel ramo Qt 6 sarà ampliata fino all'annuncio del freeze del codice il 31 agosto.

La prima versione di prova include i moduli:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL e
Qt Test.

Le chiave di rendering tramite WebGL e Canvas, Qt 6:

  • API grafico astratto, indipendente dall'API 3D del sistema operativo. Un componente chiave del nuovo stack grafico di Qt è il motore di rendering delle scene, che utilizza un layer RHI (Rendering Hardware Interface) per consentire alle applicazioni Qt Quick di funzionare non solo con OpenGL, ma anche sopra le API Vulkan, Metal e Direct 3D.
  • Il modulo Qt Quick 3D con API per la creazione di interfacce utente basate su Qt Quick, combinando elementi di grafica 2D e 3D. Qt Quick 3D consente di utilizzare QML per definire elementi 3D delle interfacce senza utilizzare il formato UIP. In Qt Quick 3D, è possibile utilizzare un solo runtime (Qt Quick), un layout della scena e un framework di animazione sia per il 2D che per il 3D, e applicare Qt Design Studio per lo sviluppo visivo delle interfacce. Il modulo affronta problemi come le elevate spese generali nell'integrazione di QML con contenuti da Qt 3D o 3D Studio, e offre la possibilità di sincronizzare animazioni e trasformazioni a livello di singoli fotogrammi tra 2D e 3D.
  • Ristrutturazione della base di codice suddividendola in parti più piccole e riducendo le dimensioni del prodotto di base. Gli strumenti per gli sviluppatori e i componenti specializzati verranno forniti come componenti aggiuntivi, distribuiti tramite il catalogo di negozio Qt Marketplace.
  • Moderna sostanziale del QML:
    • Supporto per tipizzazione rigorosa.
    • Possibilità di compilare QML in rappresentazioni C++ e codice macchina.
    • Trasferimento del supporto completo di JavaScript in opzioni (l'uso di un motore JavaScript completamente funzionale richiede molte risorse, rendendo difficile l'applicazione di QML su hardware come i microcontrollori).
    • Eliminazione del versionamento in QML.
    • Unificazione delle strutture dati duplicate in QObject e QML (permette di ridurre il consumo di memoria e accelerare il caricamento).
    • Abbandono della generazione di strutture dati a runtime a favore della generazione a compilation.
    • Nascondere i componenti interni tramite l'uso di metodi e proprietà private.
    • Integrazione migliorata con gli strumenti di sviluppo per il refactoring e la diagnosi degli errori durante la compilazione.
  • Aggiunta di strumenti per l'elaborazione delle risorse grafiche durante la fase di compilazione, ad esempio, per convertire immagini PNG in texture compresse o per convertire shader e mesh in formati binari ottimizzati per hardware specifico.
  • Integrazione di un motore unificato per temi e stili, che consente di ottenere un aspetto delle applicazioni basate su Qt Widgets e Qt Quick, nativo per diverse piattaforme mobili e desktop.
  • Come sistema di build, si è deciso di utilizzare CMake anziché QMake. Il supporto per la creazione di applicazioni tramite QMake sarà mantenuto, ma Qt stesso sarà compilato utilizzando CMake. CMake è stato scelto poiché questo strumento ha ottenuto una vasta diffusione tra gli sviluppatori di progetti C++ ed è supportato in molti ambienti di sviluppo integrati. Sviluppo del sistema di build Qbs, che ambiva a sostituire QMake, proseguito dalla comunità.
  • Transizione allo sviluppo secondo lo standard C++17 (precedentemente si utilizzava C++98). In Qt 6 è prevista l'implementazione del supporto per molte delle moderne funzionalità di C++, ma senza perdere la compatibilità con il codice basato su standard precedenti.
  • Possibilità di utilizzare nel codice C++ alcune funzionalità offerte per QML e Qt Quick. Sarà presentato un nuovo sistema di proprietà per QObject e classi simili. Dal QML, nel nucleo di Qt sarà integrato un motore per la gestione dei binding, il che permetterà di ridurre il carico e il consumo di memoria per i binding e renderli accessibili a tutte le parti di Qt, non solo a Qt Quick.
  • Espansione del supporto per ulteriori linguaggi, come Python e WebAssembly.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster