Qt 6-ի առաջին թեստային թողարկումը

Qt Company հրապարակել է առաջին թեստային թողարկումն նոր Qt 6 ճյուղի, որտեղ կը առաջարկվեն նշանակալի ճարտարապետական փոփոխություններ, և կառուցման համար անհրաժեշտ կլինի C++17 ստանդարտը աջակից կոմպիլատոր: Թողարկումը ընդգրկում է միայն ապագայի Qt 6 թողարկման սկզբնական շրջանակը, որը նազատված է 2020 թվականի դեկտեմբերի 1-ին: Qt 6-ի ճյուղում ֆունկցիոնալությունը կնպաստվի անխափան կոդի բազայի սառեցման հայտարարությունից առաջ օգոստոսի 31-ին:

Սկզբնական թեստային կազմի մեջ մտնում են մոդուլները:
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL և
Qt Test.

Կարգավորիչ հատկություններ 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-ի 2D և 3D-ի համար հնարավոր է օգտագործել մեկ runtime (Qt Quick), մեկ տեսարանային ձևավորում և մեկ անիմացիոն framerwok, իսկ ինտերֆեյսի տեսողական մշակման համար օգտագործել Qt Design Studio: Մոդուլը լուծում է այնպիսի խնդիրներ, ինչպիսիք են QML-ի հուսալիության բարձր ծախսերը Qt 3D կամ 3D Studio-ի բովանդակության ինտեգրացման ժամանակ և տրամադրում է 2D ու 3D-ի միջև անիմացիայի և վերափոխումների կրկնաժամկետային համաժամեցման հնարավորություն:
  • Կոդի բազայի վերակազմավորման միջոցով փոքր բաղադրիչների բաժանում և հիմնական արտադրանքի չափի կրճատում: Developer-ների համար գործիքներն ու մասնագիտացված բաղադրիչները տրամադրվելու են հավելումների տեսքով, որոնք վաճառում են տեսակավորող տիրույթում: Qt Marketplace.
  • QPML-ի զգալի մոդերացումը:
    • Կոշտ տիպայնության աջակցություն:
    • QPML-ի հնարավորությունը C++ և մեքենայական կոդի ներկայացման փուլներում:
    • JavaScript-ի ամբողջական օժանդակության փոխարկումը որպես տարբերակ (բոլորակամ JavaScript շարժիչի կիրառումը մեծ ռեսուրսներ է պահանջում, որոնք խանգարում են QPML-ի կիրառումն այնպես սարքեր, ինչպիսիք են միկրո-հսկիչները):
    • QPML-ի տարբերակավորման հրաժարում:
    • Վերակենդանացվող տվյալների կառուցվածքների միաձուլում` QObject և QML-ի մեջ (անիրացնում է հիշողության սպառումը և արագավորում է մեկնարկը):
    • Գեներացիայի հետքերը ժամանակի ընթացքում փոխել ամեն գնով մշակման ժամանակ, փոխելով ժամանակագրությանը:
    • Ներքին բաղադրիչների քողարկում՝ մասնավոր մեթոդների և հատկությունների օգտագործմամբ:
    • Վերականգնվածի և վերահսկման գործիքների ավելի լավ ինտեգրումը՝ կոմպիլացիայի ժամանակ սխալների հայտնաբերման համար:
  • Գրաֆիկայի հետ կապված ռեսուրսների մշակման գործիքների ավելացում կոմպիլացիայի փուլում, ինչպես օրինակ PNG պատկերների խտացված տեքստուրաների վերածման կամ շեյդերների և Mesh-երի կոնվերտացման հատուկ սարքավորման համար օպտիմիզացված բինարային ֆորմատների:
  • Միավորված շարժիչի ռազմական համակարգերի և ոճերի համար, որը թույլ է տալիս հասնել Qt Widgets և Qt Quick հիմնված ծրագրերի արտաքին տեսքին, որը բնորոշ է տարբեր շարժական և աշխատասեղանային պլատֆորմների:
  • Բիլդ համակարգի համար որոշվել է օգտագործել CMake, այլ ոչ թե QMake: QMake-ի միջոցով ծրագրերի կառուցման աջակցությունը կպահպանվի, բայց Qt-ը տեղի է ունենում CMake-ով: CMake-ը ընտրվել է, քանի որ այս գործիքը լայն տարածում է գտել C++ նախագծերի մշակողների շրջանում և աջակցվում է բազմաթիվ ինտեգրված զարգացման միջավայրերում: Qbs կառուցման համակարգի զարգացումը, որը претендовал на замену QMake. շարունակվել է համայնքի կողմից:
  • Նորմային C++17-ի անցումը (նախկինում օգտագործվում էր C++98): Qt 6-ում պլանավորում են իրականացնել C++-ի современных հնարավորությունների աջակցություն, բայց անցյալ ստանդարտների հիման վրա կոդի հետ հետադարձ համադրելիությունը չկորցնելու:
  • C++ կոդում որոշ գործառույթների օգտագործելու հնարավորություն, որը առաջարկվում է QML և Qt Quick-ի համար: Այնուհետև QML-ից Qt-ի արմատի մեջ կհանքավորվի բինդինգի (binding) աշխատող շարժիչ, որը թույլ կտա նվազեցնել բինդինգների բարեխոսությունը և հիշողության օգտագործումը և հասանելի դարձնի դրանք բոլոր Qt մասերի համար, ոչ միայն Qt Quick համար:
  • Ավելացվող լրացուցիչ լեզուների աջակցությունը, ինչպիսիք են Python և WebAssembly:

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster