Qt 6.0 альфа нұсқасы қолжетімді

Qt компаниясы жариялады жіпті аудару туралы Qt 6 альфа тестілеу кезеңіне. Qt 6 маңызды архитектуралық өзгерістерді қамтиды және құрастыру үшін C++17 стандартын қолдайтын компилятор қажет. Шығару жоспарланған 1 жылғы 2020 желтоқсандағы жағдай бойынша.

Кілт әсіресе 6-тоқсан:

  • Операциялық жүйенің 3D API интерфейсінен тәуелсіз абстракцияланған графикалық API. Жаңа Qt графикалық стекінің негізгі құрамдас бөлігі Qt Quick қолданбаларын OpenGL-пен ғана емес, сонымен қатар Vulkan, Metal және Direct 3D API интерфейстерінің жоғарғы жағында қуаттандыру үшін RHI (Rendering Hardware Interface) қабатын пайдаланатын көріністі көрсету механизмі болып табылады.
  • 3D және 2D графика элементтерін біріктіретін Qt Quick негізінде пайдаланушы интерфейстерін жасауға арналған API бар Qt Quick 3D модулі. Qt Quick 3D 3D интерфейс элементтерін UIP пішімін пайдаланбай анықтау үшін QML пайдалануға мүмкіндік береді. Qt Quick 3D жүйесінде 2D және 3D үшін бір орындалу уақытын (Qt Quick), бір көрініс орналасуын және бір анимация құрылымын пайдалануға және көрнекі интерфейсті дамыту үшін Qt Design Studio бағдарламасын пайдалануға болады. Модуль Qt 3D немесе 3D Studio мазмұнымен QML біріктіру кезінде үлкен шығындар сияқты мәселелерді шешеді және 2D және 3D арасындағы кадр деңгейінде анимациялар мен түрлендірулерді синхрондау мүмкіндігін қамтамасыз етеді.
  • Кодтық базаны кішірек құрамдас бөліктерге қайта құрылымдау және негізгі өнімнің өлшемін азайту. Әзірлеуші ​​құралдары мен арнайы компоненттер каталог дүкені арқылы таратылатын қондырмалар ретінде қамтамасыз етіледі Qt Marketplace.
  • QML-тің маңызды модернизациясы:
    • Күшті теруді қолдау.
    • QML-ді C++ көрсетуіне және машиналық кодқа құрастыру мүмкіндігі.
    • Толық JavaScript қолдауын опцияға айналдыру (толық мүмкіндіктері бар JavaScript қозғалтқышын пайдалану көптеген ресурстарды қажет етеді, бұл микроконтроллерлер сияқты жабдықта QML пайдалануды болдырмайды).
    • QML-де нұсқалаудан бас тарту.
    • QObject және QML-де қайталанатын деректер құрылымдарын унификациялау (жадты тұтынуды азайтады және іске қосуды жылдамдатады).
    • Деректер құрылымдарының орындалу уақытын генерациялаудан компиляция уақытын құру пайдасына көшу.
    • Жеке әдістер мен қасиеттерді пайдалану арқылы ішкі компоненттерді жасыру.
    • Рефакторингке және компиляция уақытындағы қателерді диагностикалауға арналған әзірлеу құралдарымен жақсартылған интеграция.
  • PNG кескіндерін қысылған текстураларға түрлендіру немесе шейдерлер мен торларды арнайы жабдық үшін оңтайландырылған екілік пішімдерге түрлендіру сияқты компиляция уақытында графикаға қатысты активтерді өңдеуге арналған құралдарды қосу.
  • Түрлі мобильді және жұмыс үстелі платформаларына тән Qt Widgets және Qt Quick негізіндегі қолданбалардың сыртқы түріне қол жеткізуге мүмкіндік беретін тақырыптар мен стильдер үшін бірыңғай қозғалтқышты енгізу.
  • Құрастыру жүйесі ретінде QMake орнына CMake пайдалану туралы шешім қабылданды. QMake көмегімен қолданбаларды құруға қолдау көрсетіледі, бірақ Qt өзі CMake көмегімен құрастырылады. CMake таңдалды, себебі бұл құралдар жинағы C++ жобасын әзірлеушілер арасында кеңінен қолданылады және көптеген біріктірілген әзірлеу орталарында қолдау көрсетіледі. QMake-ті алмастыратын Qbs құрастыру жүйесін әзірлеу, жалғастырды қауымдастық.
  • Әзірлеу кезінде C++17 стандартына көшу (бұрын C++98 қолданылған). Qt 6 көптеген заманауи C++ мүмкіндіктерін қолдауды жүзеге асыруды жоспарлап отыр, бірақ бұрынғы стандарттарға негізделген кодпен кері үйлесімділікті жоғалтпай.
  • C++ кодында QML және Qt Quick үшін ұсынылған кейбір функцияларды пайдалану мүмкіндігі. Оның ішінде QObject және ұқсас сыныптар үшін жаңа меншік жүйесі ұсынылады. QML-ден байланыстырулармен жұмыс істеуге арналған қозғалтқыш Qt өзегіне біріктіріледі, ол байланыстырулар үшін жүктеме мен жадты тұтынуды азайтады және оларды Qt Quick емес, Qt жүйесінің барлық бөліктеріне қолжетімді етеді.
  • Python және WebAssembly сияқты қосымша тілдерге кеңейтілген қолдау.
  • Ақпарат көзі: opennet.ru

пікір қалдыру