Rilascio del framework Qt 5.15

Presentato rilascio del framework multipiattaforma Qt 5.15. I codici sorgente dei componenti Qt vengono forniti sotto licenze LGPLv3 e GPLv2. A dicembre sarà pubblicata una nuova versione di Qt 6, in cui si prevede un significativo cambiamento architettonico. Per facilitare la futura transizione a Qt 6, Qt 5.15 include implementazioni preliminari di alcune novità e avvisi sulla prossima cessazione del supporto per le funzionalità destinate a essere rimosse in Qt 6.

Qt 5.15 è classificato come una release con supporto a lungo termine (LTS). Tuttavia, per la comunità, gli aggiornamenti della versione 5.15 saranno pubblicati solo fino alla creazione della prossima release significativa, ovvero per circa sei mesi. Un ciclo LTS esteso, che prevede aggiornamenti per un periodo di tre anni, sarà limitato agli utenti con licenza commerciale (per le aziende normali — $5508 all'anno per sviluppatore, e per startup e piccole imprese — $499 all'anno). Inoltre, Qt Company ha considerato la possibilità di passare a un modello di distribuzione di Qt, in cui tutte le release durante i primi 12 mesi sarebbero distribuite solo agli utenti con licenze commerciali. Ma al momento questa idea non è andata oltre la fase di discussione.

Principali novità di Qt 5.15:

  • È proseguito il lavoro sulla creazione di un'API grafica astratta, indipendente dall'API 3D del sistema operativo. Un componente chiave del nuovo stack grafico di Qt è il motore di rendering delle scene, che utilizza uno strato RHI (Rendering Hardware Interface) per garantire il funzionamento delle applicazioni Qt Quick non solo con OpenGL, ma anche sopra le API Vulkan, Metal e Direct 3D. Nella versione 5.15, il nuovo stack grafico è proposto come un'opzione con status «Technology Preview».
  • È stata garantita la piena compatibilità con il modulo Qt Quick 3D, da cui è stato rimosso il segno di sviluppo sperimentale. Qt Quick 3D fornisce un'API unificata per la creazione di interfacce utente basate su Qt Quick, combinando elementi di grafica 2D e 3D. La nuova API consente di utilizzare QML per definire elementi 3D delle interfacce senza coinvolgere il formato UIP. In Qt Quick 3D è possibile utilizzare un unico runtime (Qt Quick), un layout della scena e un unico framework di animazione per 2D e 3D, e applicare Qt Design Studio per lo sviluppo visivo delle interfacce. Il modulo affronta problematiche come i grandi oneri per l'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.

    Tra le nuove funzionalità aggiunte in Qt Quick 3D si menzionano il supporto per effetti di post-elaborazione, API C++ per la gestione della geometria, un'API per la rotazione basata sulla classe QQuaternion e il supporto per fonti di luce puntiformi. Per valutare le varie possibilità di Qt Quick 3D preparato è stata creata un'applicazione dimostrativa speciale che mostra come è possibile modificare tipi e fonti di illuminazione, utilizzare modelli complessi, manipolare texture, materiali e smussature. Allo stesso tempo è stato proposto uscita ambiente per la progettazione dell'interfaccia utente Qt Design Studio 1.5, che offre pieno supporto per Qt Quick 3D.


    Guarda il video
  • In Qt QML il lavoro è stato concentrato sulla preparazione per Qt 6. È stata implementata la possibilità di utilizzare proprietà con il segno 'required' nei componenti, la cui impostazione è obbligatoria. Nello strumento qmllint è stato migliorato il modo in cui vengono generati gli avvisi su possibili problemi nel codice QML. È stato aggiunto lo strumento qmlformat, che semplifica la formattazione del codice QML in base alle linee guida per lo stile di codifica. È stata garantita la compatibilità di QML con l'edizione di Qt per microcontrollori..
  • In Qt Quick, nell'elemento Image è stato aggiunto il supporto per gli spazi colore. In Qt Quick Shapes è stato aggiunto un nuovo elemento PathText.
    Nel gestore del puntatore è stata aggiunta la proprietà cursorShape, attraverso la quale è possibile cambiare la forma del cursore del mouse sui sistemi desktop. È stato aggiunto l'elemento HeaderView per semplificare l'aggiunta di intestazioni verticali e orizzontali nelle tabelle basate su TableView.
  • È stata notevolmente migliorata la supporto alla decorazione delle finestre da parte del client (CSD), consentendo all'applicazione di definire i propri elementi di design delle finestre e di posizionare contenuti personalizzati nell'intestazione della finestra.
  • Stabilizzato il modulo Qt Lottie, che fornisce un'API avanzata per QML, permettendo di disegnare grafica e animazioni esportate in formato JSON tramite il plugin Bodymovin per il pacchetto Adobe After Effects. Grazie a QtLottie, il designer può preparare effetti animati nell'applicazione a lui più comoda, mentre lo sviluppatore può collegare direttamente i file esportati all'interfaccia delle applicazioni su QtQuick. QtLottie include un micro motore integrato per l'esecuzione di animazioni, ritagli, elaborazione dei livelli e altri effetti. Il motore è accessibile tramite l'elemento QML LottieAnimation, che può essere gestito dal codice QML come qualsiasi altro elemento QtQuick.
  • Il motore del browser Qt WebEngine è stato aggiornato alla base di codice Chromium 80 (nella branch 5.14 era utilizzato Chromium 77, la versione attuale è Chromium 83).
  • Nel modulo Qt 3D sono stati migliorati gli strumenti di profilazione e debugging.
  • In Qt Multimedia è stata aggiunta la supporto per il rendering su più superfici.
  • In Qt GUI le operazioni di scaling e trasformazione delle immagini ora vengono eseguite in modalità multithreading in molti casi.
  • In Qt Network è stata aggiunta la supporto per timeout configurabili e scorciatoie di sessione in TLS 1.3 (Session Ticket, che consentono di riprendere la sessione senza salvare lo stato sul server).
  • È stata garantita la compatibilità di Qt Core, QRunnable e QThreadPool con std::function. È stato aggiunto un nuovo metodo QFile::moveToTrash() per spostare gli elementi nel cestino tenendo conto delle specifiche delle diverse piattaforme.
  • In Qt per Android è stata aggiunta è stata introdotta la supporto per i dialoghi nativi per l'apertura e il salvataggio dei file.

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