Versi alfa Qt 6.0 tersedia

Perusahaan Qt mengumumkan tentang menerjemahkan thread Qt 6 ke tahap pengujian alfa. Qt 6 mencakup perubahan arsitektur yang signifikan dan memerlukan kompiler yang mendukung standar C++17 untuk membangunnya. Melepaskan dijadwalkan per 1 Desember 2020.

Kunci fitur Babak 6:

  • API grafik abstrak yang tidak bergantung pada API 3D sistem operasi. Komponen kunci dari tumpukan grafis Qt baru adalah mesin rendering adegan, yang menggunakan lapisan RHI (Rendering Hardware Interface) untuk mendukung aplikasi Qt Quick tidak hanya dengan OpenGL, tetapi juga di atas Vulkan, Metal, dan Direct 3D API.
  • Modul Qt Quick 3D dengan API untuk membuat antarmuka pengguna berdasarkan Qt Quick, menggabungkan elemen grafis 2D dan 3D. Qt Quick 3D memungkinkan Anda menggunakan QML untuk mendefinisikan elemen antarmuka 3D tanpa menggunakan format UIP. Di Qt Quick 3D, Anda dapat menggunakan satu runtime (Qt Quick), satu tata letak adegan dan satu kerangka animasi untuk 2D dan 3D, dan menggunakan Qt Design Studio untuk pengembangan antarmuka visual. Modul ini memecahkan masalah seperti overhead yang besar saat mengintegrasikan QML dengan konten dari Qt 3D atau 3D Studio, dan menyediakan kemampuan untuk menyinkronkan animasi dan transformasi pada tingkat bingkai antara 2D dan 3D.
  • Merestrukturisasi basis kode menjadi komponen yang lebih kecil dan mengurangi ukuran produk dasar. Alat pengembang dan komponen khusus akan disediakan sebagai add-on yang didistribusikan melalui toko katalog Pasar Qt.
  • Modernisasi QML yang signifikan:
    • Dukungan pengetikan yang kuat.
    • Kemampuan untuk mengkompilasi QML ke dalam representasi C++ dan kode mesin.
    • Menjadikan dukungan JavaScript penuh sebagai pilihan (menggunakan mesin JavaScript berfitur lengkap memerlukan banyak sumber daya, sehingga mencegah penggunaan QML pada peralatan seperti mikrokontroler).
    • Penolakan pembuatan versi di QML.
    • Penyatuan struktur data yang diduplikasi dalam QObject dan QML (akan mengurangi konsumsi memori dan mempercepat startup).
    • Beralih dari pembuatan struktur data waktu proses ke pembuatan waktu kompilasi.
    • Menyembunyikan komponen internal melalui penggunaan metode dan properti pribadi.
    • Peningkatan integrasi dengan alat pengembangan untuk pemfaktoran ulang dan diagnosis kesalahan waktu kompilasi.
  • Menambahkan alat untuk memproses aset terkait grafis pada waktu kompilasi, seperti mengonversi gambar PNG menjadi tekstur terkompresi atau mengonversi shader dan jerat menjadi format biner yang dioptimalkan untuk perangkat keras tertentu.
  • Menyematkan mesin terpadu untuk tema dan gaya, memungkinkan Anda mencapai tampilan aplikasi berdasarkan Qt Widgets dan Qt Quick, asli untuk berbagai platform seluler dan desktop.
  • Diputuskan untuk menggunakan CMake, bukan QMake, sebagai sistem pembangunan. Dukungan untuk membangun aplikasi menggunakan QMake akan tetap ada, namun Qt sendiri akan dibangun menggunakan CMake. CMake dipilih karena toolkit ini banyak digunakan di kalangan pengembang proyek C++ dan didukung di banyak lingkungan pengembangan terintegrasi. Pengembangan sistem perakitan Qbs yang diklaim sebagai pengganti QMake, lanjutan masyarakat.
  • Transisi ke standar C++17 selama pengembangan (sebelumnya C++98 digunakan). Qt 6 berencana mengimplementasikan dukungan untuk banyak fitur C++ modern, namun tanpa kehilangan kompatibilitas dengan kode berdasarkan standar lama.
  • Kemampuan untuk menggunakan beberapa fungsi yang ditawarkan untuk QML dan Qt Quick dalam kode C++. Termasuk sistem properti baru untuk QObject dan kelas serupa akan disajikan. Dari QML, mesin untuk bekerja dengan binding akan diintegrasikan ke dalam inti Qt, yang akan mengurangi beban dan konsumsi memori untuk binding dan membuatnya tersedia untuk semua bagian Qt, dan bukan hanya Qt Quick.
  • Dukungan yang diperluas untuk bahasa tambahan seperti Python dan WebAssembly.
  • Sumber: opennet.ru

Tambah komentar