Qt 6.0 alfa eldono havebla

Qt Kompanio anoncita pri tradukado de la fadeno Qt 6 al la alfa testa stadio. Qt 6 inkluzivas signifajn arkitekturajn ŝanĝojn kaj postulas kompililon kiu subtenas la C++17-normon por konstrui. Liberigu planita ekde la 1-a de decembro 2020.

Ŝlosilo Karakterizaĵoj Qt 6:

  • Abstraktita grafika API kiu estas sendependa de la 3D API de la operaciumo. Ŝlosila komponanto de la nova grafika stako Qt estas la scenbildiga motoro, kiu uzas la tavolon RHI (Rendering Hardware Interface) por funkciigi Qt Quick-aplikaĵojn ne nur per OpenGL, sed ankaŭ aldone al la Vulkan, Metalo kaj Rekta 3D-APIoj.
  • Qt Quick 3D-modulo kun API por krei uzantinterfacojn bazitajn sur Qt Quick, kombinante 2D kaj 3D grafikelementojn. Qt Quick 3D permesas al vi uzi QML por difini 3D-interfacajn elementojn sen uzi la UIP-formaton. En Qt Quick 3D, vi povas uzi unu rultempon (Qt Quick), unu scenaranĝon kaj unu animacian kadron por 2D kaj 3D, kaj uzi Qt Design Studio por vida interfaco. La modulo solvas problemojn kiel grandajn superŝarĝojn kiam oni integras QML kun enhavo de Qt 3D aŭ 3D Studio, kaj disponigas la kapablon sinkronigi kuraĝigojn kaj transformojn ĉe la kadronivelo inter 2D kaj 3D.
  • Restrukturante la kodbazon en pli malgrandajn komponentojn kaj reduktante la grandecon de la baza produkto. Iloj por programistoj kaj specialigitaj komponantoj estos provizitaj kiel aldonaĵoj distribuitaj tra la katalogo-butiko Qt Foirejo.
  • Signifa modernigo de QML:
    • Forta tajpa subteno.
    • Kapablo kompili QML en C++-reprezentadon kaj maŝinkodon.
    • Fari plenan JavaScript-subtenon opcion (uzante plenfunkcian JavaScript-motoron postulas multajn rimedojn, kio malhelpas la uzon de QML sur ekipaĵo kiel ekzemple mikroregiloj).
    • Rifuzo de versio en QML.
    • Unuiĝo de datumstrukturoj duobligitaj en QObject kaj QML (reduktos memorkonsumon kaj akcelos ekfunkciigon).
    • Moviĝante for de rultempa generacio de datenstrukturoj en favoro de kompiltempa generacio.
    • Kaŝi internajn komponantojn per la uzo de privataj metodoj kaj propraĵoj.
    • Plibonigita integriĝo kun evoluiloj por refactoring kaj kompiltempa erardiagnozo.
  • Aldonante ilojn por prilabori grafik-rilatajn aktivaĵojn ĉe kompilaĵo, kiel konverti PNG-bildojn en kunpremitajn teksturojn aŭ konverti ombrantojn kaj maŝojn en optimumigitajn binarajn formatojn por specifa aparataro.
  • Enkonstruado de unuigita motoro por temoj kaj stiloj, ebligante vin atingi la aspekton de aplikoj bazitaj sur Qt Widgets kaj Qt Quick, indiĝenaj al malsamaj poŝtelefonaj kaj labortablaj platformoj.
  • Estis decidite uzi CMake anstataŭ QMake kiel la konstrusistemon. Subteno por konstrui aplikaĵojn uzante QMake restos, sed Qt mem estos konstruita per CMake. CMake estis elektita ĉar ĉi tiu ilaro estas vaste uzata inter C++-projektaj programistoj kaj estas subtenata en multaj integraj evolumedioj. Evoluo de la Qbs kunigsistemo, kiu asertis esti anstataŭaĵo por QMake, daŭrigis komunumo.
  • Transiro al la C++17 normo dum evoluo (antaŭe C++98 estis uzita). Qt 6 planas efektivigi subtenon por multaj modernaj C++-ecoj, sed sen perdi malantaŭan kongruon kun kodo bazita sur heredaj normoj.
  • La kapablo uzi iujn el la funkcioj ofertitaj por QML kaj Qt Quick en C++-kodo. Inkluzive de nova proprietsistemo por QObject kaj similaj klasoj estos prezentitaj. De QML, motoro por labori kun ligadoj estos integrita en la Qt-kernon, kiu reduktos la ŝarĝon kaj memorkonsumon por ligadoj kaj disponigos ilin al ĉiuj partoj de Qt, kaj ne nur al Qt Quick.
  • Pligrandigita subteno por pliaj lingvoj kiel Python kaj WebAssembly.
  • fonto: opennet.ru

Aldoni komenton