Qt 6.0-ի ալֆա տարբերակը հասանելի է

Qt ընկերություն հայտարարվեց թեման թարգմանելու մասին Qt 6 դեպի ալֆա փորձարկման փուլ: Qt 6-ը ներառում է զգալի ճարտարապետական ​​փոփոխություններ և պահանջում է կոմպիլյատոր, որն աջակցում է C++17 ստանդարտը կառուցելու համար: Ազատ արձակել նախատեսված է 1 թվականի դեկտեմբերի 2020-ի դրությամբ։

Բանալի առանձնահատկությունները Qt 6:

  • Վերացական գրաֆիկական API, որը անկախ է օպերացիոն համակարգի 3D API-ից: Նոր Qt գրաֆիկական փաթեթի հիմնական բաղադրիչը տեսարանների վերարտադրման շարժիչն է, որն օգտագործում է RHI (Rendering Hardware Interface) շերտը Qt Quick հավելվածները ոչ միայն OpenGL-ով, այլ նաև Vulkan, Metal և Direct 3D API-ների վերևում:
  • Qt Quick 3D մոդուլ API-ով Qt Quick-ի վրա հիմնված օգտատերերի միջերեսներ ստեղծելու համար՝ համատեղելով 2D և 3D գրաֆիկայի տարրերը: Qt Quick 3D-ը թույլ է տալիս օգտագործել QML՝ 3D ինտերֆեյսի տարրերը սահմանելու համար՝ առանց UIP ձևաչափի օգտագործման: Qt Quick 3D-ում կարող եք օգտագործել մեկ գործարկման ժամանակ (Qt Quick), մեկ տեսարանի դասավորություն և մեկ անիմացիոն շրջանակ 2D-ի և 3D-ի համար, և օգտագործել Qt Design Studio-ն տեսողական ինտերֆեյսի մշակման համար: Մոդուլը լուծում է այնպիսի խնդիրներ, ինչպիսիք են մեծ ծախսերը, երբ QML-ն ինտեգրում է Qt 3D կամ 3D Studio-ի բովանդակությանը, և ապահովում է անիմացիաներն ու փոխակերպումները 2D-ի և 3D-ի շրջանակի մակարդակում համաժամեցնելու հնարավորություն:
  • Կոդի բազայի վերակազմավորում ավելի փոքր բաղադրիչների և բազային արտադրանքի չափի կրճատում: Մշակողի գործիքները և մասնագիտացված բաղադրիչները կտրամադրվեն որպես հավելումներ՝ բաշխված կատալոգի խանութի միջոցով Qt շուկա.
  • QML-ի զգալի արդիականացում.
    • Մուտքագրման ուժեղ աջակցություն:
    • QML-ը C++ ներկայացման և մեքենայական կոդի մեջ կազմելու ունակություն:
    • JavaScript-ի ամբողջական աջակցությունը տարբերակ դարձնելը (լրիվ հատկություններով JavaScript շարժիչ օգտագործելը պահանջում է շատ ռեսուրսներ, ինչը թույլ չի տալիս QML-ի օգտագործումը սարքավորումների վրա, ինչպիսիք են միկրոկոնտրոլերները):
    • QML-ում տարբերակման մերժում:
    • QObject-ում և QML-ում կրկնօրինակված տվյալների կառուցվածքների միավորում (կնվազեցնի հիշողության սպառումը և կարագացնի գործարկումը):
    • Հեռանալով տվյալների կառուցվածքների գործարկման ժամանակի ստեղծումից՝ հօգուտ կոմպիլյացիայի ժամանակի ստեղծման:
    • Ներքին բաղադրիչները թաքցնելը մասնավոր մեթոդների և հատկությունների օգտագործմամբ:
    • Բարելավված ինտեգրում զարգացման գործիքների հետ՝ վերամշակման և ժամանակի սխալների ախտորոշման համար:
  • Կազմման ժամանակ գրաֆիկայի հետ կապված ակտիվների մշակման համար գործիքների ավելացում, ինչպես օրինակ՝ PNG պատկերները սեղմված հյուսվածքների վերածելը կամ ստվերներն ու ցանցերը օպտիմիզացված երկուական ձևաչափերի վերածելը հատուկ սարքաշարի համար:
  • Թեմաների և ոճերի համար միասնական շարժիչի ներդրում, որը թույլ է տալիս հասնել Qt Widgets-ի և Qt Quick-ի վրա հիմնված հավելվածների տեսքին, որոնք բնօրինակ են բջջային և աշխատասեղանի տարբեր հարթակներում:
  • Որպես կառուցման համակարգ, որոշվեց օգտագործել CMake-ը QMake-ի փոխարեն: QMake-ի օգտագործմամբ հավելվածներ կառուցելու աջակցությունը կմնա, բայց Qt-ն ինքնին կկառուցվի CMake-ի միջոցով: CMake-ն ընտրվել է, քանի որ այս գործիքակազմը լայնորեն օգտագործվում է C++ նախագծերի մշակողների շրջանում և աջակցվում է բազմաթիվ ինտեգրված զարգացման միջավայրերում: Qbs հավաքման համակարգի մշակում, որը պնդում էր, որ փոխարինում էր QMake-ին, շարունակվեց համայնք.
  • Մշակման ընթացքում անցում C++17 ստանդարտին (նախկինում օգտագործվում էր C++98): Qt 6-ը նախատեսում է աջակցել C++-ի շատ ժամանակակից հնարավորությունների համար, բայց առանց կորցնելու նախկին ստանդարտների վրա հիմնված կոդի հետ հետընթաց համատեղելիությունը:
  • QML-ի և Qt Quick-ի համար առաջարկվող որոշ գործառույթներ C++ կոդում օգտագործելու ունակություն: Կներկայացվի նաև QObject-ի և նմանատիպ դասերի նոր սեփականության համակարգ: QML-ից կապող սարքերով աշխատելու շարժիչը կմիացվի Qt միջուկում, որը կնվազեցնի կապերի բեռը և հիշողության սպառումը և դրանք հասանելի կդարձնի Qt-ի բոլոր մասերին, և ոչ միայն Qt Quick-ին:
  • Ընդլայնված աջակցություն լրացուցիչ լեզուների համար, ինչպիսիք են Python-ը և WebAssembly-ը:
  • Source: opennet.ru

Добавить комментарий