Cyhoeddi map ffordd ymarferoldeb Chw 6

Lars Knoll, crëwr yr injan KHTML, rheolwr prosiect y Qt Project a chyfarwyddwr technegol y Qt Company, dweud wrth am gynlluniau i greu cangen arwyddocaol nesaf y fframwaith Qt. Unwaith y bydd ymarferoldeb cangen Qt 5.14 wedi'i gwblhau, bydd y datblygiad yn canolbwyntio ar baratoi ar gyfer rhyddhau Qt 6, a ddisgwylir ddiwedd 2020.

Bydd Chwarter 6 yn cael ei ddatblygu gyda golwg ar sicrhau ei fod yn gydnaws â Chwarter 5, ond gall problemau unigol godi, gan na fydd yn bosibl gweithredu'r newidiadau pensaernïol a'r glanhau arfaethedig heb golli lefel benodol o gydnawsedd. Er mwyn hwyluso'r trawsnewid, bwriedir cynnwys rhai o nodweddion Chwarter 6 ar ffurf lai fel rhan o ddatganiadau Qt 5.14 a Qt 5.15 LTS. Bydd pecyn cymorth hefyd yn cael ei baratoi i symleiddio mudo i Chwarter 6.

Ymhlith y prif nodau ar gyfer y gangen arwyddocaol nesaf mae dod â'r swyddogaeth yn unol â gofynion 2020, glanhau'r sylfaen cod a symleiddio cynnal a chadw'r prosiect. Newidiadau disgwyliedig:

  • Moderneiddio QML yn sylweddol:
    • Cefnogaeth teipio gref.
    • Y gallu i lunio QML i mewn i gynrychiolaeth C++ a chod peiriant.
    • Mae gwneud cefnogaeth JavaScript lawn yn opsiwn (mae angen llawer o adnoddau i ddefnyddio injan JavaScript llawn sylw, sy'n atal y defnydd o QML ar offer fel microreolyddion).
    • Gwrthod fersiwn yn QML.
    • Uno strwythurau data wedi'u dyblygu yn QObject a QML (bydd yn lleihau'r defnydd o gof ac yn cyflymu cychwyn).
    • Symud i ffwrdd o gynhyrchu strwythurau data amser rhedeg o blaid cynhyrchu amser llunio.
    • Cuddio cydrannau mewnol trwy ddefnyddio dulliau ac eiddo preifat.
    • Gwell integreiddio ag offer datblygu ar gyfer ailffactorio a diagnosis gwallau amser llunio;
  • Ychwanegu haen haniaethol newydd, y Rhyngwyneb Caledwedd Rendro (RHI), i ddarparu defnydd di-dor o APIs graffeg amrywiol, gan gynnwys OpenGL, Vulkan, Metal a Direct 3D (OpenGL yn unig oedd Qt yn flaenorol). Bydd yr holl seilwaith rendro presennol yn cael ei drawsnewid i ddefnyddio RHI, gan gynnwys QPainter, Qt Quick Scenegraph a Qt3D. Bwriedir hefyd ychwanegu'r modiwl Qt Shader Tools i gefnogi amrywiol ieithoedd datblygu shaders a darparu traws-grynhoad o shaders yn y cam adeiladu ac ar amser rhedeg;
  • Paratoi API unedig ar gyfer creu rhyngwynebau defnyddwyr sy'n cyfuno elfennau graffeg 2D a 3D. Bydd yr API newydd yn caniatáu ichi ddefnyddio QML i ddiffinio elfennau rhyngwyneb 3D heb ddefnyddio'r fformat UIP. Mae'r rhyngwyneb newydd ar gyfer integreiddio cynnwys 3D â Qt Quick yn bwriadu datrys problemau megis y gorbenion uchel o integreiddio QML â chynnwys o Qt 3D neu 3D Studio, a'r anallu i gydamseru animeiddiadau a thrawsnewidiadau lefel ffrâm rhwng 2D a 3D. Bydd rendrad 2D a 3D cyfun yn cael ei roi ar waith gan ddefnyddio injan rendro newydd. Disgwylir rhagolwg o'r Qt Quick newydd gyda chefnogaeth 3D yn y datganiad Qt 5.14;
  • Ychwanegu offer i brosesu asedau sy'n gysylltiedig â graffeg ar amser llunio, megis trosi delweddau PNG yn weadau cywasgedig neu drosi arlliwwyr a rhwyllau yn fformatau deuaidd wedi'u optimeiddio ar gyfer caledwedd penodol;
  • Ymgorffori injan unedig ar gyfer themâu ac arddulliau, sy'n eich galluogi i gyflawni ymddangosiad cymwysiadau yn seiliedig ar Qt Widgets a Qt Quick, sy'n frodorol i wahanol lwyfannau symudol a bwrdd gwaith;
  • Uno offer ar gyfer creu rhyngwyneb defnyddiwr. Er mwyn osgoi dyblygu ymarferoldeb a rhoi'r gorau i gyflenwi dau gynnyrch ar wahân, disgwylir y bydd ymarferoldeb Qt 3D Studio yn cael ei integreiddio i Qt Design Studio, y mae llawer o'u his-systemau a'r fframwaith ar gyfer cysylltu ategion wedi'u hadeiladu ar yr un sylfaen cod â Qt Creawdwr.
    Mae Qt Design Studio hefyd yn bwriadu darparu integreiddiad o ansawdd uchel gyda phecynnau creu cynnwys fel Photoshop, Sketch, Illustrator, Maya a 3D Max. Y prif ieithoedd a gefnogir yn y pecyn cymorth datblygu unedig yw C++, QML a Python. Mae uno hefyd yn golygu'r gallu i gael mynediad at offer dylunio rhyngwyneb gan Qt Creator, a darparu galluoedd o offer datblygwr i ddylunwyr rhyngwyneb, er enghraifft, llunio prosiect neu brofi cymhwysiad ar ddyfais;

  • Penderfynwyd defnyddio CMake yn lle QMake fel y system adeiladu. Bydd cefnogaeth ar gyfer ceisiadau adeiladu gan ddefnyddio QMake yn parhau, ond bydd Qt ei hun yn cael ei adeiladu gan ddefnyddio CMake. Dewiswyd CMake oherwydd bod y pecyn cymorth hwn yn cael ei ddefnyddio'n helaeth ymhlith datblygwyr prosiectau C++ ac fe'i cefnogir mewn llawer o amgylcheddau datblygu integredig. Datblygu system cydosod Qbs, a oedd yn honni ei bod yn disodli QMake, terfynu;
  • Pontio i safon C++17 yn ystod datblygiad (defnyddiwyd C++98 yn flaenorol). Mae Qt 6 yn bwriadu gweithredu cefnogaeth ar gyfer llawer o nodweddion C ++ modern, ond heb golli cydnawsedd yn ôl â chod yn seiliedig ar safonau etifeddiaeth.
  • Y gallu i ddefnyddio o C++ rai o'r swyddogaethau a gynigir ar gyfer QML a Qt Quick. Yn benodol, cyflwynir system eiddo newydd ar gyfer QObject a dosbarthiadau tebyg. Bydd injan ar gyfer gweithio gyda rhwymiadau yn cael ei hintegreiddio o QML i'r craidd Qt, a fydd yn lleihau'r llwyth a'r defnydd o gof ar gyfer rhwymiadau a'u gwneud ar gael i bob rhan o Qt, ac nid Qt Quick yn unig;
  • Gwaith parhaus i ehangu cymorth ar gyfer ieithoedd ychwanegol fel Python a WebAssembly;
  • Ailstrwythuro trwy dorri i lawr yn gydrannau llai a lleihau maint y cynnyrch gwaelodol. Bydd offer datblygwr a chydrannau arfer yn cael eu darparu fel ychwanegion a ddosberthir trwy'r storfa gatalog newydd. Bydd ychwanegiadau i Qt gan ddatblygwyr trydydd parti, am ddim ac am dâl, hefyd yn cael eu derbyn i'w dosbarthu.

Ffynhonnell: opennet.ru

Ychwanegu sylw