ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠ»Π°Π½ развития Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Qt 6

Ларс Кнолл (Lars Knoll), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π΄Π²ΠΈΠΆΠΊΠ° KHTML, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Qt Project ΠΈ тСхничСский Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Qt Company, рассказал ΠΎ ΠΏΠ»Π°Π½Π°Ρ… ΠΏΠΎ созданию ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Qt. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ формирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π΅Ρ‚ΠΊΠΈ Qt 5.14 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ выпуска Qt 6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оТидаСтся Π² ΠΊΠΎΠ½Ρ†Π΅ 2020 Π³ΠΎΠ΄Π°.

Qt 6 Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ с оглядкой Π½Π° обСспСчСниС совмСстимости с Qt 5, Π½ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ измСнСния ΠΈ чистку Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ уровня совмСстимости. Для сглаТивания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности Qt 6 планируСтся Π² сокращённом Π²ΠΈΠ΄Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² состав выпусков Qt 5.14 ΠΈ Qt 5.15 LTS. Π’Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ инструмСнтарий для упрощСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Qt 6.

Π‘Ρ€Π΅Π΄ΠΈ основных Ρ†Π΅Π»Π΅ΠΉ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ называСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² соотвСтствиС с трСбованиями 2020 Π³ΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ чистки ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ сопровоТдСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ измСнСния:

  • БущСствСнная модСрнизация QML:
    • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ.
    • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции QML Π² прСдставлСниС Π½Π° C++ ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.
    • ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ JavaScript Π² разряд ΠΎΠΏΡ†ΠΈΠΉ (использованиС ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… рСсурсов, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ QML Π½Π° Ρ‚Π°ΠΊΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹).
    • ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ вСрсионирования Π² QML.
    • Унификация структур Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π² QObject ΠΈ QML (ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ запуск).
    • Π£Ρ…ΠΎΠ΄ ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя выполнСния Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ врСмя компиляции.
    • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· использованиС ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ интСграция с инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ диагностики ошибок Π²ΠΎ врСмя компиляции;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ абстрактного слоя Rendering Hardware Interface (RHI) для обСспСчСниС бСсшовного использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… графичСских API, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ OpenGL, Vulkan, Metal ΠΈ Direct 3D (Ρ€Π°Π½ΡŒΡˆΠ΅ Qt Π±Ρ‹Π» завязан Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° OpenGL). На использованиС RHI Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° вся ΠΈΠΌΠ΅ΡŽΡ‰Π°ΡΡΡ инфраструктура Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ QPainter, Qt Quick Scenegraph ΠΈ Qt3D. Π’Π°ΠΊΠΆΠ΅ планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Qt Shader Tools для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈ обСспСчСния кросс-компиляции ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΊΠ°ΠΊ Π½Π° этапС сборки, Ρ‚Π°ΠΊ ΠΈ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ API для создания интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ… элСмСнты 2D ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Новый API ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ QML для для опрСдСлСния 3D-элСмСнтов интСрфСйсов Π±Π΅Π· задСйствования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° UIP. Π’ Π½ΠΎΠ²ΠΎΠΌ интСрфСйсС для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 3D-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с Qt Quick ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠ°ΠΊ большиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ QML с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ· Qt 3D ΠΈΠ»ΠΈ 3D Studio, ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ синхронизации Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ 2D ΠΈ 3D. БовмСстная Π² влоТСнная отрисовка 2D ΠΈ 3D Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ рСализация Π½ΠΎΠ²ΠΎΠ³ΠΎ Qt Quick с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 3D оТидаСтся Π² выпускС Qt 5.14;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ инструмСнтов для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ связанных с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ рСсурсов Π½Π° этапС компиляции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для прСобразования PNG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² сТатыС тСкстуры ΠΈΠ»ΠΈ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈ мСшСй Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ оборудования;
  • ВстраиваниС ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° для Ρ‚Π΅ΠΌ оформлСния ΠΈ стилСй, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ внСшнСго Π²ΠΈΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Qt Widgets ΠΈ Qt Quick, Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ;
  • Унификация инструмСнтов для создания интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дублирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ прСкращСния поставки Π΄Π²ΡƒΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², оТидаСтся интСграция Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Qt 3D Studio Π² Qt Design Studio, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ подсистСмы ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² построСны Π½Π° Π΅Π΄ΠΈΠ½ΠΎΠΉ с Qt Creator ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅.
    Π’ Qt Design Studio Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ для создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Photoshop, Sketch, Illustrator, Maya ΠΈ 3D Max. Π’ качСствС основных языков, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ инструмСнтарии для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ C++, QML ΠΈ Python. Унификация Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обращСния ΠΈΠ· Qt Creator ΠΊ срСдствам проСктирования интСрфСйса, ΠΈ прСдоставлСниС Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°ΠΌ интСрфСйса возмоТностСй ΠΈΠ· инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ тСстирования прилоТСния Π½Π° устройствС;

  • Π’ качСствС систСмы сборки Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CMake вмСсто QMake. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ QMake Π±ΡƒΠ΄Π΅Ρ‚ сохранСна, Π½ΠΎ сам Qt Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с использованиСм CMake. CMake Π²Ρ‹Π±Ρ€Π°Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹ΠΉ инструмСнтарий ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° C++ ΠΈ поддСрТиваСтся Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сборочной систСмы Qbs, которая ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Π»Π° Π½Π° Ρ€ΠΎΠ»ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ QMake, ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°;
  • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° стандарт C++17 (Ρ€Π°Π½Π΅Π΅ использовался C++98). Π’ Qt 6 ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных возмоТностСй C++, Π½ΠΎ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° основС ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… стандартов.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΠ· C++ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ для QML ΠΈ Qt Quick. Π’ Ρ‚ΠΎΠΌ числС, Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна новая систСма свойств для QObject ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… классов. Из QML Π² ядро Qt Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π΄Π²ΠΈΠΆΠΎΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти для Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… доступными для всСх частСй Qt, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Qt Quick;
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Python ΠΈ WebAssembly;
  • РСструктуризация с Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ составныС части ΠΈ сокращСниСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ спСциализированныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, распространяСмых Ρ‡Π΅Ρ€Π΅Π· Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³-ΠΌΠ°Π³Π°Π·ΠΈΠ½. Для распространСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΈ дополнСния ΠΊ Qt ΠΎΡ‚ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ бСсплатныС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ