Available ang alpha na bersyon ng Qt 6.0

Kumpanya ng Qt inihayag ang tungkol sa pagsasalin ng thread Qt 6 sa yugto ng pagsubok ng alpha. Kasama sa Qt 6 ang mga makabuluhang pagbabago sa arkitektura at nangangailangan ng isang compiler na sumusuporta sa pamantayang C++17 upang bumuo. Palayain binalak noong Disyembre 1, 2020.

Susi mga tampok Qt 6:

  • Isang abstracted graphics API na independiyente sa 3D API ng operating system. Ang isang mahalagang bahagi ng bagong Qt graphics stack ay ang scene rendering engine, na gumagamit ng RHI (Rendering Hardware Interface) layer upang paganahin ang mga Qt Quick application hindi lamang sa OpenGL, kundi pati na rin sa itaas ng Vulkan, Metal at Direct 3D API.
  • Qt Quick 3D module na may API para sa paglikha ng mga user interface batay sa Qt Quick, pagsasama-sama ng 2D at 3D na mga elemento ng graphics. Binibigyang-daan ka ng Qt Quick 3D na gumamit ng QML upang tukuyin ang mga elemento ng 3D interface nang hindi ginagamit ang format ng UIP. Sa Qt Quick 3D, maaari kang gumamit ng isang runtime (Qt Quick), isang layout ng eksena at isang framework ng animation para sa 2D at 3D, at gumamit ng Qt Design Studio para sa pagbuo ng visual na interface. Nilulutas ng module ang mga problema tulad ng malaking overhead kapag isinasama ang QML sa nilalaman mula sa Qt 3D o 3D Studio, at nagbibigay ng kakayahang mag-synchronize ng mga animation at pagbabago sa antas ng frame sa pagitan ng 2D at 3D.
  • Muling pagbubuo ng code base sa mas maliliit na bahagi at pagbabawas ng laki ng batayang produkto. Ibibigay ang mga tool ng developer at mga espesyal na bahagi bilang mga add-on na ibinahagi sa pamamagitan ng catalog store Qt Marketplace.
  • Makabuluhang modernisasyon ng QML:
    • Malakas na suporta sa pag-type.
    • Kakayahang mag-compile ng QML sa C++ na representasyon at machine code.
    • Ang paggawa ng ganap na suporta sa JavaScript bilang isang opsyon (gamit ang isang ganap na tampok na JavaScript engine ay nangangailangan ng maraming mapagkukunan, na pumipigil sa paggamit ng QML sa mga kagamitan tulad ng mga microcontroller).
    • Pagtanggi ng bersyon sa QML.
    • Pagsasama-sama ng mga istruktura ng data na nadoble sa QObject at QML (magbabawas ng pagkonsumo ng memorya at magpapabilis ng pagsisimula).
    • Ang paglayo sa pagbuo ng run-time ng mga istruktura ng data pabor sa pagbuo ng oras ng pag-compile.
    • Pagtatago ng mga panloob na bahagi sa pamamagitan ng paggamit ng mga pribadong pamamaraan at katangian.
    • Pinahusay na pagsasama sa mga tool sa pag-develop para sa refactoring at pag-compile-time na diagnosis ng error.
  • Pagdaragdag ng mga tool upang iproseso ang mga asset na nauugnay sa graphics sa oras ng pag-compile, tulad ng pag-convert ng mga PNG na larawan sa mga naka-compress na texture o pag-convert ng mga shader at mesh sa mga naka-optimize na binary na format para sa partikular na hardware.
  • Pag-embed ng pinag-isang makina para sa mga tema at istilo, na nagbibigay-daan sa iyong makamit ang hitsura ng mga application batay sa Qt Widgets at Qt Quick, native sa iba't ibang mobile at desktop platform.
  • Napagpasyahan na gamitin ang CMake sa halip na QMake bilang build system. Mananatili ang suporta para sa pagbuo ng mga application gamit ang QMake, ngunit ang Qt mismo ay gagawin gamit ang CMake. Napili ang CMake dahil malawakang ginagamit ang toolkit na ito sa mga developer ng proyekto ng C++ at sinusuportahan ito sa maraming pinagsama-samang kapaligiran sa pag-unlad. Pagbuo ng sistema ng pagpupulong ng Qbs, na sinasabing kapalit ng QMake, patuloy pamayanan.
  • Ang paglipat sa pamantayang C++17 sa panahon ng pag-unlad (dati ay ginamit ang C++98). Plano ng Qt 6 na magpatupad ng suporta para sa maraming modernong feature ng C++, ngunit hindi nawawala ang backward compatibility sa code batay sa mga nakaraang pamantayan.
  • Ang kakayahang gamitin ang ilan sa mga functionality na inaalok para sa QML at Qt Quick sa C++ code. Kasama ang isang bagong sistema ng pag-aari para sa QObject at mga katulad na klase ay ipapakita. Mula sa QML, isang makina para sa pagtatrabaho sa mga binding ay isasama sa Qt core, na magbabawas sa pag-load at pagkonsumo ng memory para sa mga binding at gagawing available ang mga ito sa lahat ng bahagi ng Qt, at hindi lamang sa Qt Quick.
  • Pinalawak na suporta para sa mga karagdagang wika tulad ng Python at WebAssembly.
  • Pinagmulan: opennet.ru

Magdagdag ng komento