Lars Knoll, krijuesi i motorit KHTML, udhëheqësi i projektit Qt Project dhe drejtori teknik i kompanisë Qt Company, së pari për planet për krijimin e degës tjetër të rëndësishme të kuadrit Qt. Pas përfundimit të formimit të funksionaliteteve të degës Qt 5.14, zhvillimi do të përqendrohet në përgatitjen e lançimit të Qt 6, që pritet në fund të vitit 2020.
Qt 6 do të zhvillohet me qëllim të sigurojë compatibilitet me Qt 5, por nuk përjashtohet shfaqja e disa problemeve, pasi ndryshimet arkitektonike të planifikuara dhe pastrimi nuk mund të realizohen pa humbur një nivel të caktuar të kompatibilitetit. Për të lehtësuar kalimin, disa mundësi të Qt 6 planifikohen të përfshihen në mënyrë të reduktuar në botimet e Qt 5.14 dhe Qt 5.15 LTS. Gjithashtu do të përgatitet një mjet për të thjeshtuar migrimin në Qt 6.
Mes objektivave kryesore për degën e ardhshme theksohet përshtatja e funksionaliteteve për kërkesat e vitit 2020, pastrimi i bazës së kodit dhe thjeshtimi i mbështetjes së projektit. Ndryshimet e pritura:
- Një modernizim i rëndësishëm i QML:
- Mbështetje për tipizimin e fortë.
- Mundësia për të kompaktuar QML në përfaqësim C++ dhe kodin makina.
- Shkarkimi i mbështetjes të plotë për JavaScript në kategorinë e opsioneve (përdorimi i një engine JavaScript të plotë kërkon burime të mëdha, që pengon përdorimin e QML në pajisje si mikro kontrollet).
- Braktisja e versionimit në QML.
- Unifikimi i strukturave të dhënash, që përsëriten në QObject dhe QML (do të lejojë reduktimin e konsumit të memories dhe përshpejtimin e nisjes).
- Ikja nga gjenerimi i strukturave të dhënash gjatë ekzekutimit në favor të gjenerimit në kohën e përpunimit.
- FSiguroja e komponenteve të brendshme përmes përdorimit të metodave dhe pasurive private.
- Integrim më të përmirësuar me mjetet e zhvillimit për refaktorizimin dhe diagnostikimin e gabimeve gjatë kompilimit;
- Shtimi i një shtrese abstrakte Rendering Hardware Interface (RHI) për të siguruar përdorim pa ndërprerje të API-ve të ndryshme grafike, duke përfshirë OpenGL, Vulkan, Metal dhe Direct 3D (më parë Qt ishte i lidhur vetëm me OpenGL). Të gjitha infrastrukturen e ekzistueshme të rendit do të kalojë në përdorimin e RHI, duke përfshirë QPainter, Qt Quick Scenegraph dhe Qt3D. Gjithashtu, planifikohet të shtohet moduli Qt Shader Tools për mbështetje të gjuhëve të zhvillimit të shenjave dhe për të siguruar kros-kompilimin e shenjave si në fazën e ndërtimit ashtu edhe gjatë ekzekutimit të programit;
- Përgatitja e një API të unifikuar për krijimin e ndërfaqeve të përdoruesit që kombinojnë elemente të grafikës 2D dhe 3D. APIja e re do të lejojë përdorimin e QML për të përcaktuar elementët 3D të ndërfaqeve pa angazhuar formatin UIP. Në ndërfaqen e re për integrimin e përmbajtjes 3D me Qt Quick planifikohet zgjidhja e problemeve si ngarkesat e mëdha gjatë integrimit të QML me përmbajtjen nga Qt 3D ose 3D Studio, si dhe pamundësia e sinkronizimit të animacioneve dhe transformimeve në nivelin e kadrove të veçanta midis 2D dhe 3D. Renderimi i bashkëpunuar i brendshëm i 2D dhe 3D do të realizohet përmes një motori të ri të renderimit. Një implementim paraprak i Qt Quick të ri me mbështetje për 3D pritet në lëshimin e Qt 5.14;
- Shtimi i mjeteve për përpunimin e burimeve të lidhura me grafikën në fazën e kompilimit, për shembull, për të transformuar imazhet PNG në textura të kompresuara ose për të konvertuar shadat dhe mesh-at në formate binare të optimizuara për pajisje të caktuara;
- Integrimi i një motori të unifikuar për tema dhe stile, i cili lejon arritjen e një pamjeje të aplikacioneve të bazuara në Qt Widgets dhe Qt Quick, që është natyrale për platforma të ndryshme mobile dhe desktop;
- Unifikimi i mjeteve për krijimin e ndërfaqes së përdoruesit. Për të eliminuar dyfishimin e funksionaliteteve dhe për të pezulluar ofrimin e dy produkteve të veçanta, pritet integrimi i funksionaliteteve të Qt 3D Studio në Qt Design Studio, shumë nën-sisteme të të cilit dhe struktura e lidhjeve të plugjineve janë ndërtuar mbi një bazë kodi të bashkuar me Qt Creator.
Në Qt Design Studio gjithashtu planifikohet të sigurohet një integrim cilësor me paketat për krijimin e përmbajtjes, si Photoshop, Sketch, Illustrator, Maya dhe 3D Max. Si gjuhët kryesore që mbështeten në mjetet e unifikuara për zhvillim përmenden C++, QML dhe Python. Unifikimi gjithashtu nënkupton mundësinë e qasjes nga Qt Creator në mjetet e dizajnit të ndërfaqes dhe ofrimin e mundësive për dizajnerët e ndërfaqeve nga mjetet për zhvilluesit, për shembull, kompilimi i projektit ose testimi i aplikacionit në pajisje; - Si sistem ndërtimi është vendosur të përdoret CMake në vend të QMake. Mbështetje për ndërtimin e aplikacioneve me QMake do të ruhet, por vetë Qt do të ndërtohet duke përdorur CMake. CMake u zgjodh sepse ky mjet ka marrë shtrirje të gjerë mes zhvilluesve të projekteve në C++ dhe mbështetet në shumë ambiente të integruara zhvillimi. Zhvillimi i sistemit të ndërtimit Qbs, i cili pretendonte të ishte zëvendësues për QMake, ;
- Kalimi në standardin C++17 (më parë përdorej C++98). Në Qt 6 është planifikuar të implementohet mbështetje për shumë mundësi moderne C++, por pa humbur mbështetjes për kodin të bazuar në standardet e mëparshme.
- Mundësia për të përdorur disa funksionalitete të C++ që ofrohen për QML dhe Qt Quick. Përdoruesit do të prezantojnë një sistem të ri pronash për QObject dhe klasat e ngjashme. Një motor për menaxhimin e lidhjeve do të integrohet nga QML në bërthamën Qt, çka do të reduktojë ngarkesën dhe konsumimin e memories për lidhjet dhe do t'i bëjë ato të disponueshme për të gjitha pjesët e Qt, dhe jo vetëm për Qt Quick.
- Vazhdoi puna për të zgjeruar mbështetje për gjuhë të tjera si Python dhe WebAssembly.
- Ristrukturimi me ndarjen në pjesë më të vogla dhe reduktimin e madhësisë së produktit bazë. Mjetet për zhvilluesit dhe komponentët e specializuar do të ofrohen si shtesa, të shpërndara përmes një katalogu të ri të dyqanit. Shtesat për Qt nga zhvilluesit e jashtëm, si ato falas ashtu edhe ato të paguara, do të pranohen për shpërndarje.
Burimi: opennet.ru
