Qt 6 бірінші сынақ шығарылымы

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

Бірінші сынақ нұсқасы келесі модульдерді қамтиды:
Qt Core,
Qt графикалық интерфейсі,
Qt виджеттері,
Qt желісі,
Qt QML,
Qt жылдам,
Qt жылдам басқару элементтері,
Qt SVG,
Qt желісін авторизациялау,
Qt SQL және
Qt сынағы.

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

  • Операциялық жүйенің 3D API интерфейсінен тәуелсіз абстракцияланған графикалық API. Жаңа Qt графикалық стекінің негізгі құрамдас бөлігі Qt Quick қолданбаларының OpenGL-де ғана емес, сонымен қатар Vulkan, Metal және Direct 3D API интерфейстерінің үстінде де жұмыс істеуге мүмкіндік беретін Rendering Hardware Interface (RHI) қабатын пайдаланатын көріністі көрсету механизмі болып табылады.
  • Qt Quick 3D модулі 2D және 3D графика элементтерін біріктіретін Qt Quick негізіндегі пайдаланушы интерфейстерін жасау үшін API ұсынады. Qt Quick 3D 3D интерфейс элементтерін UIP пішімін пайдаланбай анықтау үшін QML пайдалануға мүмкіндік береді. Qt Quick 3D визуалды интерфейсті әзірлеу үшін Qt Design Studio қолданбасын пайдалану кезінде бір орындалу уақытын (Qt Quick), бір көрініс орналасуын және 2D және 3D үшін бір анимация құрылымын пайдалануға мүмкіндік береді. Бұл модуль 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

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster