Qt 6 fungsi roadmap diterbitkeun

Lars Knoll, panyipta mesin KHTML, manajer proyék tina Proyék Qt sareng diréktur téknis Perusahaan Qt, bébéja ngeunaan rencana pikeun nyieun cabang signifikan salajengna tina kerangka Qt. Saatos pungsionalitas cabang Qt 5.14 parantos réngsé, pamekaran bakal difokuskeun nyiapkeun sékrési Qt 6, anu diperkirakeun dina ahir taun 2020.

Qt 6 bakal dimekarkeun kalawan panon pikeun mastikeun kasaluyuan jeung Qt 5, tapi masalah individu bisa timbul, saprak parobahan arsitéktur rencanana sarta cleanups moal mungkin pikeun nerapkeun tanpa kaleungitan tingkat nu tangtu kasaluyuan. Pikeun halus transisi, sababaraha fitur Qt 6 rencanana bakal kaasup dina formulir ngurangan salaku bagian tina Qt 5.14 sarta Qt 5.15 LTS Kaluaran. Toolkit ogé bakal disiapkeun pikeun nyederhanakeun migrasi ka Qt 6.

Di antara tujuan utama pikeun cabang penting salajengna nyaéta nyangking fungsionalitas saluyu sareng sarat 2020, ngabersihkeun dasar kode sareng nyederhanakeun pangropéa proyék. Parobahan anu dipiharep:

  • Modernisasi signifikan tina QML:
    • Pangrojong ngetik anu kuat.
    • Kamampuhan pikeun compile QML kana C ++ ngagambarkeun jeung kode mesin.
    • Ngarojong JavaScript pinuh hiji pilihan (ngagunakeun mesin JavaScript pinuh-diulas merlukeun loba sumber, nu nyegah pamakéan QML on parabot kayaning microcontrollers).
    • Panolakan versioning di QML.
    • Ngahijikeun Tatar struktur data duplicated di QObject na QML (bakal ngurangan konsumsi memori jeung nyepetkeun ngamimitian).
    • Mindahkeun jauh tina run-time generasi struktur data dina kahadean generasi compile-waktos.
    • Nyumputkeun komponén internal ku cara ngagunakeun metode sareng sipat pribadi.
    • Ningkatkeun integrasi sareng alat pangembangan pikeun refactoring sareng diagnosis kasalahan waktos kompilasi;
  • Nambahkeun lapisan abstrak anyar, Rendering Hardware Interface (RHI), pikeun nyadiakeun pamakéan seamless rupa API grafik, kaasup OpenGL, Vulkan, Metal sarta langsung 3D (saméméhna Qt éta OpenGL-hijina). Kabéh infrastruktur Rendering aya bakal dirobah jadi make RHI, kaasup QPainter, Qt Gancang Scenegraph na Qt3D. Éta ogé direncanakeun pikeun nambihan modul Qt Shader Tools pikeun ngadukung rupa-rupa basa pangembangan shader sareng nyayogikeun kompilasi silang shaders boh dina tahap ngawangun sareng dina runtime;
  • Nyiapkeun API ngahijikeun Tatar pikeun nyieun interfaces pamaké nu ngagabungkeun 2D jeung elemen grafik 3D. API anyar bakal ngidinan Anjeun pikeun make QML pikeun nangtukeun elemen panganteur 3D tanpa ngagunakeun format UIP. Antarbeungeut anyar pikeun ngahijikeun eusi 3D kalawan Qt Gancang ngarencanakeun pikeun ngajawab masalah kayaning overhead luhur ngahijikeun QML kalawan eusi tina Qt 3D atanapi 3D Studio, sarta henteu mampuh pikeun nyingkronkeun animasi na pigura-tingkat transformasi antara 2D na 3D. Gabungan rendering 2D sareng 3D nested bakal dilaksanakeun nganggo mesin rendering énggal. A sawangan tina Qt Gancang anyar kalawan rojongan 3D diperkirakeun dina Qt 5.14 release;
  • Nambahkeun alat pikeun ngolah aset nu patali jeung grafik dina waktu compile, kayaning ngarobah gambar PNG kana tékstur dikomprés atawa ngarobah shaders na meshes kana format binér dioptimalkeun pikeun hardware husus;
  • Embedding mesin hasil ngahijikeun Tatar pikeun téma jeung gaya, ngidinan Anjeun pikeun ngahontal penampilan aplikasi dumasar kana Qt Widget na Qt Gancang, pituin platform mobile na desktop béda;
  • Ngahijikeun parabot pikeun nyieun panganteur pamaké. Pikeun ngahindarkeun duplikasi fungsionalitas sareng discontinuation pangiriman dua produk anu misah, diperkirakeun yén fungsionalitas Qt 3D Studio bakal dihijikeun kana Qt Design Studio, seueur subsistem sareng kerangka pikeun nyambungkeun plugins diwangun dina dasar kode anu sami. Qt Creator.
    Qt Design Studio ogé ngarencanakeun pikeun nyayogikeun integrasi kualitas luhur sareng bungkusan nyiptakeun kontén sapertos Photoshop, Sketch, Illustrator, Maya sareng 3D Max. Basa utama anu dirojong dina toolkit pangembangan ngahiji nyaéta C ++, QML sareng Python. Ngahijikeun Tatar hartina ogé kamampuhan pikeun ngakses parabot design panganteur ti Qt Creator, sarta nyadiakeun désainer panganteur kalawan kamampuhan ti parabot pamekar, Contona, nyusun proyék atawa nguji hiji aplikasi dina alat;

  • Ieu mutuskeun pikeun ngagunakeun CMake tinimbang QMake salaku sistem ngawangun. Rojongan pikeun ngawangun aplikasi maké QMake bakal tetep, tapi Qt sorangan bakal diwangun ngagunakeun CMake. CMake dipilih sabab toolkit ieu loba dipaké diantara pamekar proyék C ++ sarta dirojong dina loba lingkungan ngembangkeun terpadu. Ngembangkeun sistem rakitan Qbs, anu ngaku ngagentos QMake, dieureunkeun;
  • Transisi kana standar C ++ 17 nalika pangwangunan (saméméhna dipaké C ++ 98). Qt 6 ngarencanakeun pikeun nerapkeun rojongan pikeun loba C modern ++ fitur, tapi tanpa kaleungitan kasaluyuan mundur kalawan kode dumasar kana standar kaliwat.
  • Kamampuhan ngagunakeun tina C ++ sababaraha pungsi ditawarkeun pikeun QML na Qt Gancang. Khususna, sistem sipat anyar pikeun QObject jeung kelas sarupa bakal dibere. Hiji mesin keur gawé bareng bindings bakal terpadu ti QML kana Qt inti, nu bakal ngurangan beban sarta memori konsumsi pikeun bindings sarta nyieun eta sadia ka sadaya bagian Qt, na teu ngan Qt Gancang;
  • Terus gawé pikeun ngalegaan dukungan pikeun basa tambahan sapertos Python sareng WebAssembly;
  • Restructuring ku ngarecah kana komponén nu leuwih leutik sarta ngurangan ukuran produk kaayaan. Alat pamekar sareng komponén khusus bakal disayogikeun salaku tambihan anu disebarkeun ngaliwatan toko katalog énggal. Tambahan pikeun Qt ti pamekar pihak katilu, duanana haratis sareng nu mayar, ogé bakal katampa keur sebaran.

sumber: opennet.ru

Tambahkeun komentar