Gimantala ang roadmap sa pagpaandar sa Qt 6

Lars Knoll, tiglalang sa KHTML engine, project manager sa Qt Project ug technical director sa Qt Company, giingnan mahitungod sa mga plano sa paghimo sa sunod nga mahinungdanon nga sanga sa Qt framework. Kung nahuman na ang pag-andar sa sanga sa Qt 5.14, ang pag-uswag magpunting sa pag-andam alang sa pagpagawas sa Qt 6, nga gilauman sa katapusan sa 2020.

Ang Qt 6 maugmad uban ang usa ka mata aron masiguro ang pagkaangay sa Qt 5, apan ang mga indibidwal nga mga problema mahimong motungha, tungod kay ang giplano nga mga pagbag-o sa arkitektura ug paglimpyo dili mahimo nga ipatuman nga wala mawala ang usa ka piho nga lebel sa pagkaangay. Aron hapsay ang transisyon, ang pipila ka mga bahin sa Qt 6 giplano nga ilakip sa usa ka pagkunhod nga porma isip bahin sa Qt 5.14 ug Qt 5.15 LTS nga pagpagawas. Andam usab ang Toolkit aron pasimplehon ang paglalin sa Qt 6.

Lakip sa mga nag-unang katuyoan alang sa sunod nga hinungdanon nga sanga mao ang pagpahiuyon sa pagpaandar sa mga kinahanglanon sa 2020, paglimpyo sa base sa code ug pagpasimple sa pagpadayon sa proyekto. Gipaabot nga mga pagbag-o:

  • Mahinungdanon nga modernisasyon sa QML:
    • Kusog nga suporta sa pag-type.
    • Abilidad sa pag-compile sa QML ngadto sa C++ nga representasyon ug machine code.
    • Ang paghimo sa hingpit nga suporta sa JavaScript nga usa ka kapilian (paggamit sa usa ka bug-os nga bahin nga makina sa JavaScript nanginahanglan daghang mga kapanguhaan, nga nagpugong sa paggamit sa QML sa mga kagamitan sama sa mga microcontroller).
    • Pagdumili sa pag-bersyon sa QML.
    • Ang paghiusa sa mga istruktura sa datos nga nadoble sa QObject ug QML (makakunhod sa konsumo sa memorya ug makapadali sa pagsugod).
    • Pagpalayo gikan sa run-time nga henerasyon sa mga istruktura sa datos pabor sa pag-compile-time nga henerasyon.
    • Pagtago sa mga internal nga sangkap pinaagi sa paggamit sa mga pribadong pamaagi ug kabtangan.
    • Gipauswag nga panagsama sa mga himan sa pag-uswag alang sa refactoring ug pag-compile-time nga pagdayagnos sa sayup;
  • Pagdugang ug bag-ong abstract layer, ang Rendering Hardware Interface (RHI), aron mahatagan ug seamless nga paggamit sa lain-laing mga graphics API, lakip ang OpenGL, Vulkan, Metal ug Direct 3D (kaniadto ang Qt OpenGL-only). Ang tanan nga naglungtad nga imprastraktura sa pag-render makombertir aron magamit ang RHI, lakip ang QPainter, Qt Quick Scenegraph ug Qt3D. Giplano usab nga idugang ang module sa Qt Shader Tools aron suportahan ang lainlaing mga pinulongan sa pagpalambo sa shader ug paghatag og cross-compilation sa mga shaders sa yugto sa pagtukod ug sa runtime;
  • Pag-andam sa usa ka hiniusa nga API alang sa paghimo sa mga interface sa gumagamit nga naghiusa sa 2D ug 3D nga mga elemento sa graphic. Ang bag-ong API magtugot kanimo sa paggamit sa QML sa paghubit sa 3D nga mga elemento sa interface nga dili mogamit sa UIP format. Ang bag-ong interface alang sa pag-integrate sa 3D content sa Qt Quick nagplano sa pagsulbad sa mga problema sama sa taas nga overhead sa pag-integrate sa QML sa content gikan sa Qt 3D o 3D Studio, ug ang kawalay katakos sa pag-synchronize sa mga animation ug frame-level transformations tali sa 2D ug 3D. Ang hiniusang nested 2D ug 3D rendering ipatuman gamit ang bag-ong rendering engine. Ang usa ka preview sa bag-ong Qt Quick uban sa 3D nga suporta gilauman sa Qt 5.14 release;
  • Pagdugang sa mga himan aron maproseso ang mga kabtangan nga may kalabotan sa mga graphic sa oras sa pag-compile, sama sa pag-convert sa mga imahe sa PNG ngadto sa mga compressed texture o pag-convert sa mga shader ug meshes ngadto sa na-optimize nga binary nga mga format alang sa piho nga hardware;
  • Pag-embed sa usa ka hiniusa nga makina alang sa mga tema ug mga istilo, nga nagtugot kanimo nga makab-ot ang hitsura sa mga aplikasyon nga gibase sa Qt Widgets ug Qt Quick, lumad sa lainlaing mga platform sa mobile ug desktop;
  • Paghiusa sa mga himan alang sa paghimo sa usa ka user interface. Aron malikayan ang pagdoble sa pag-andar ug paghunong sa paghatud sa duha ka managlahing produkto, gilauman nga ang pag-andar sa Qt 3D Studio i-integrate sa Qt Design Studio, nga kadaghanan sa mga subsystem ug ang balangkas alang sa pagkonektar sa mga plugins gitukod sa parehas nga base sa code sama sa. Qt Magbubuhat.
    Nagplano usab ang Qt Design Studio nga maghatag ug taas nga kalidad nga panagsama sa mga pakete sa paghimo sa sulud sama sa Photoshop, Sketch, Illustrator, Maya ug 3D Max. Ang panguna nga mga sinultian nga gisuportahan sa hiniusa nga toolkit sa pag-uswag mao ang C ++, QML ug Python. Ang paghiusa nagpasabot usab sa abilidad sa pag-access sa mga himan sa disenyo sa interface gikan sa Qt Creator, ug paghatag sa mga tigdesinyo sa interface og mga kapabilidad gikan sa mga himan sa developer, pananglitan, pag-compile sa usa ka proyekto o pagsulay sa usa ka aplikasyon sa usa ka device;

  • Nakahukom nga gamiton ang CMake imbes nga QMake isip sistema sa pagtukod. Ang suporta alang sa pagtukod og mga aplikasyon gamit ang QMake magpabilin, apan ang Qt mismo pagatukuron gamit ang CMake. Gipili ang CMake tungod kay kini nga toolkit kaylap nga gigamit sa mga nag-develop sa proyekto sa C++ ug gisuportahan sa daghang mga integrated development environment. Pag-uswag sa sistema sa asembliya sa Qbs, nga giangkon nga usa ka kapuli sa QMake, natapos;
  • Transition ngadto sa C++17 standard atol sa development (kaniadto C++98 gigamit). Ang Qt 6 nagplano nga ipatuman ang suporta alang sa daghang modernong C ++ nga mga bahin, apan dili mawala ang atraso nga pagkaangay sa code base sa nangaging mga sumbanan.
  • Abilidad sa paggamit gikan sa C ++ pipila sa mga gamit nga gitanyag alang sa QML ug Qt Quick. Sa partikular, usa ka bag-ong sistema sa kabtangan alang sa QObject ug parehas nga mga klase ang ipresentar. Ang usa ka makina alang sa pagtrabaho uban ang mga binding i-integrate gikan sa QML ngadto sa Qt core, nga makapakunhod sa load ug memory consumption alang sa bindings ug himoon kini nga magamit sa tanang bahin sa Qt, ug dili lang sa Qt Quick;
  • Nagpadayon nga pagtrabaho aron mapalapad ang suporta alang sa dugang nga mga pinulongan sama sa Python ug WebAssembly;
  • Pag-restructuring pinaagi sa pagbungkag sa gagmay nga mga sangkap ug pagkunhod sa gidak-on sa nagpahiping produkto. Ang mga himan sa developer ug mga custom nga sangkap ihatag isip mga add-on nga gipang-apod-apod pinaagi sa bag-ong tindahan sa katalogo. Ang mga pagdugang sa Qt gikan sa mga developer sa ikatulo nga partido, libre ug bayad, dawaton usab alang sa pag-apod-apod.

Source: opennet.ru

Idugang sa usa ka comment