Qt 6 işlevselliği yol haritası yayınlandı

KHTML motorunun yaratıcısı, Qt Projesinin proje yöneticisi ve Qt Company'nin teknik direktörü Lars Knoll, söyledi Qt çerçevesinin bir sonraki önemli dalını oluşturma planları hakkında. Qt 5.14 şubesinin işlevselliği tamamlandıktan sonra geliştirme, 6 sonunda beklenen Qt 2020'nın piyasaya sürülmesi için hazırlanmaya odaklanacak.

Qt 6, Qt 5 ile uyumluluk sağlanacak şekilde geliştirilecek ancak planlanan mimari değişiklikler ve temizliklerin belirli bir uyumluluk düzeyini kaybetmeden uygulanması mümkün olmayacağından bireysel sorunlar ortaya çıkabilir. Geçişi kolaylaştırmak için Qt 6'nın bazı özelliklerinin, Qt 5.14 ve Qt 5.15 LTS sürümlerinin bir parçası olarak küçültülmüş biçimde dahil edilmesi planlanıyor. Araç seti ayrıca Qt 6'ya geçişi kolaylaştırmak için hazırlanacak.

Bir sonraki önemli şubenin ana hedefleri arasında işlevselliği 2020'nin gereksinimlerine uygun hale getirmek, kod tabanını temizlemek ve proje bakımının basitleştirilmesi yer alıyor. Beklenen değişiklikler:

  • QML'de önemli modernizasyon:
    • Güçlü yazma desteği.
    • QML'yi C++ temsiline ve makine koduna derleme yeteneği.
    • Tam JavaScript desteğini bir seçenek haline getirmek (tam özellikli bir JavaScript motoru kullanmak çok fazla kaynak gerektirir, bu da mikro denetleyiciler gibi ekipmanlarda QML kullanımını engeller).
    • QML'de sürüm oluşturmanın reddedilmesi.
    • QObject ve QML'de kopyalanan veri yapılarının birleştirilmesi (bellek tüketimini azaltacak ve başlatmayı hızlandıracaktır).
    • Veri yapılarının çalışma zamanında oluşturulmasından derleme zamanı oluşturulmasına geçilmesi.
    • Özel yöntemler ve özellikler kullanılarak dahili bileşenlerin gizlenmesi.
    • Yeniden düzenleme ve derleme zamanı hata teşhisi için geliştirme araçlarıyla iyileştirilmiş entegrasyon;
  • OpenGL, Vulkan, Metal ve Direct 3D (daha önce Qt yalnızca OpenGL'di) dahil olmak üzere çeşitli grafik API'lerinin sorunsuz kullanımını sağlamak için yeni bir soyut katman olan Rendering Hardware Interface (RHI) eklendi. QPainter, Qt Quick Scenegraph ve Qt3D dahil olmak üzere mevcut tüm işleme altyapısı RHI kullanımına dönüştürülecek. Ayrıca çeşitli gölgelendirici geliştirme dillerini desteklemek ve gölgelendiricilerin hem yapım aşamasında hem de çalışma zamanında çapraz derlenmesini sağlamak için Qt Shader Tools modülünün eklenmesi planlanıyor;
  • 2D ve 3D grafik öğelerini birleştiren kullanıcı arayüzleri oluşturmak için birleşik bir API'nin hazırlanması. Yeni API, UIP formatını kullanmadan 3D arayüz öğelerini tanımlamak için QML'yi kullanmanıza olanak tanıyacak. 3D içeriği Qt Quick ile entegre etmeye yönelik yeni arayüz, QML'yi Qt 3D veya 3D Studio içeriğiyle entegre etmenin yüksek yükü ve 2D ile 3D arasında animasyonların ve kare düzeyindeki dönüşümlerin senkronize edilememesi gibi sorunları çözmeyi planlıyor. Birleşik iç içe 2D ve 3D işleme, yeni bir işleme motoru kullanılarak uygulanacaktır. Qt 3 sürümünde 5.14D destekli yeni Qt Quick'un bir ön izlemesinin yapılması bekleniyor;
  • PNG görüntülerini sıkıştırılmış dokulara dönüştürmek veya gölgelendiricileri ve kafesleri belirli donanım için optimize edilmiş ikili formatlara dönüştürmek gibi, derleme zamanında grafiklerle ilgili varlıkları işlemek için araçlar eklemek;
  • Farklı mobil ve masaüstü platformlarına özgü, Qt Widget'lar ve Qt Quick'a dayalı uygulamaların görünümünü elde etmenize olanak tanıyan, temalar ve stiller için birleşik bir motor yerleştirme;
  • Kullanıcı arayüzü oluşturmaya yönelik araçların birleştirilmesi. İşlevselliğin tekrarlanmasını ve iki ayrı ürünün tesliminin durdurulmasını önlemek için, Qt 3D Studio'nun işlevselliğinin, alt sistemlerinin çoğu ve eklentileri bağlamak için kullanılan çerçeve aynı kod tabanı üzerine inşa edilen Qt Design Studio'ya entegre edilmesi beklenmektedir. Qt Yaratıcısı.
    Qt Design Studio ayrıca Photoshop, Sketch, Illustrator, Maya ve 3D Max gibi içerik oluşturma paketleriyle yüksek kaliteli entegrasyon sağlamayı planlıyor. Birleştirilmiş geliştirme araç setinde desteklenen ana diller C++, QML ve Python'dur. Birleştirme aynı zamanda Qt Creator'dan arayüz tasarımı araçlarına erişme ve arayüz tasarımcılarına geliştirici araçlarından yetenekler sağlama, örneğin bir projeyi derleme veya bir uygulamayı bir cihazda test etme yeteneği anlamına gelir;
  • Derleme sistemi olarak QMake yerine CMake kullanılmasına karar verildi. QMake kullanarak uygulama oluşturma desteği devam edecek ancak Qt'nin kendisi CMake kullanılarak oluşturulacak. CMake'in seçilmesinin nedeni, bu araç setinin C++ proje geliştiricileri arasında yaygın olarak kullanılması ve birçok entegre geliştirme ortamında desteklenmesidir. QMake'in yerini alacağı iddia edilen Qbs montaj sisteminin geliştirilmesi, durduruldu;
  • Geliştirme sırasında C++17 standardına geçiş (daha önce C++98 kullanılıyordu). Qt 6, birçok modern C++ özelliği için destek uygulamayı planlıyor, ancak eski standartları temel alan kodla geriye dönük uyumluluğu kaybetmeden.
  • QML ve Qt Quick için sunulan bazı işlevleri C++'tan kullanma yeteneği. Özellikle QObject ve benzeri sınıflar için yeni bir özellik sistemi sunulacaktır. Bağlamalarla çalışmaya yönelik bir motor, QML'den Qt çekirdeğine entegre edilecek; bu, bağlamalar için yükü ve bellek tüketimini azaltacak ve bunları yalnızca Qt Quick için değil, Qt'nin tüm parçaları için kullanılabilir hale getirecek;
  • Python ve WebAssembly gibi ek dillere yönelik desteği genişletmek için çalışmalara devam edildi;
  • Daha küçük bileşenlere ayrılarak ve temel ürünün boyutunu küçülterek yeniden yapılandırma. Geliştirici araçları ve özel bileşenler, yeni katalog mağazası aracılığıyla dağıtılan eklentiler olarak sağlanacak. Üçüncü taraf geliştiricilerin Qt'ye hem ücretsiz hem de ücretli eklemeleri de dağıtım için kabul edilecektir.

Kaynak: opennet.ru

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster