Versiunea alfa a Qt 6.0 disponibilă

Compania Qt a anunțat despre traducerea firului Qt 6 la etapa de testare alfa. Qt 6 include modificări arhitecturale semnificative și necesită un compilator care acceptă standardul C++17 pentru a construi. Eliberare programate de la 1 decembrie 2020.

Cheie caracteristici Qt 6:

  • Un API grafic abstract care este independent de API-ul 3D al sistemului de operare. O componentă cheie a noii stive de grafică Qt este motorul de randare a scenei, care utilizează stratul RHI (Interfață hardware de redare) pentru a alimenta aplicațiile Qt Quick nu numai cu OpenGL, ci și pe API-urile Vulkan, Metal și Direct 3D.
  • Modul Qt Quick 3D cu API pentru crearea de interfețe cu utilizatorul bazate pe Qt Quick, combinând elemente grafice 2D și 3D. Qt Quick 3D vă permite să utilizați QML pentru a defini elementele de interfață 3D fără a utiliza formatul UIP. În Qt Quick 3D, puteți utiliza un timp de rulare (Qt Quick), un aspect al scenei și un cadru de animație pentru 2D și 3D și puteți utiliza Qt Design Studio pentru dezvoltarea interfeței vizuale. Modulul rezolvă probleme precum supraîncărcarea mare atunci când se integrează QML cu conținut din Qt 3D sau 3D Studio și oferă posibilitatea de a sincroniza animații și transformări la nivel de cadru între 2D și 3D.
  • Restructurarea bazei de cod în componente mai mici și reducerea dimensiunii produsului de bază. Instrumentele pentru dezvoltatori și componentele specializate vor fi furnizate ca suplimente distribuite prin magazinul de catalog Piața Qt.
  • Modernizare semnificativă a QML:
    • Suport puternic pentru tastare.
    • Abilitatea de a compila QML în reprezentare C++ și cod mașină.
    • Transformarea completă a suportului JavaScript într-o opțiune (folosirea unui motor JavaScript complet necesită o mulțime de resurse, ceea ce împiedică utilizarea QML pe echipamente precum microcontrolere).
    • Refuzul versiunilor în QML.
    • Unificarea structurilor de date duplicate în QObject și QML (va reduce consumul de memorie și va accelera pornirea).
    • Îndepărtarea de la generarea în timp de rulare a structurilor de date în favoarea generării în timp de compilare.
    • Ascunderea componentelor interne prin utilizarea metodelor și proprietăților private.
    • Integrare îmbunătățită cu instrumentele de dezvoltare pentru refactorizare și diagnosticarea erorilor la compilare.
  • Adăugarea de instrumente pentru a procesa elementele legate de grafică în timpul compilării, cum ar fi conversia imaginilor PNG în texturi comprimate sau conversia shaderelor și rețelelor în formate binare optimizate pentru hardware specific.
  • Încorporarea unui motor unificat pentru teme și stiluri, permițându-vă să obțineți aspectul aplicațiilor bazate pe Qt Widgets și Qt Quick, native pe diferite platforme mobile și desktop.
  • S-a decis să se utilizeze CMake în loc de QMake ca sistem de construcție. Suportul pentru construirea de aplicații folosind QMake va rămâne, dar Qt însuși va fi construit folosind CMake. CMake a fost ales deoarece acest set de instrumente este utilizat pe scară largă printre dezvoltatorii de proiecte C++ și este susținut în multe medii de dezvoltare integrate. Dezvoltarea sistemului de asamblare Qbs, care pretindea a fi un înlocuitor pentru QMake, extins comunitate.
  • Trecerea la standardul C++17 în timpul dezvoltării (anterior era folosit C++98). Qt 6 intenționează să implementeze suport pentru multe caracteristici moderne C++, dar fără a pierde compatibilitatea cu codul bazat pe standardele anterioare.
  • Abilitatea de a utiliza unele dintre funcționalitățile oferite pentru QML și Qt Quick în codul C++. Va fi prezentat un nou sistem de proprietăți pentru QObject și clase similare. Din QML, un motor pentru lucrul cu legături va fi integrat în nucleul Qt, ceea ce va reduce încărcarea și consumul de memorie pentru legături și le va face disponibile tuturor părților Qt, și nu doar Qt Quick.
  • Suport extins pentru limbi suplimentare, cum ar fi Python și WebAssembly.
  • Sursa: opennet.ru

Adauga un comentariu